Heyy, ich wollte nun das erste Mal mit einer IR-Led / einem IR-Sensor arbeiten. Um einfach mal zu testen, wie genau diese Signalübetragung funktioniert, habe ich diese Led (IR 19-21C EVL Infrarot-Diode, GaAlAs, 940 nm, 150°, SMD-0603) und den Sensor (TSOP4838) an meinen Arduino Uno geschalten. Nun wollte ich einfach ein Signal über die Led schicken und der TSOP soll diese empfangen. Eigentlich wollte ich dann testen, wie groß der Abstand zwischen Sender und Empfänger maximal sein kann und welche Möglichkeiten an Signalübetragung ich habe, jedoch hat nicht einmal ein einfacher Test funktioniert. Ich hänge mal meinen Code an, es wird mir immer "Kein IR-Signal." im Seriellen Monitor ausgegeben. Die Led habe ich mit einem 150Ohm Widerstand angeschlossen.
:
Verschoben durch Moderator
Hast du die LED denn auch mit ihrem 38kHz-Träger versorgt? Nur blinken reicht nicht... Es scheint mir so als ob du die PWM mit 38kHz einschaltest, aber dann mittels digitalwrite() überschreibst...
Bist du dir sicher, dass die Modulation funktioniert, wenn du den Ausgang mit digitalWrite setzt? Ich habe es gerade nicht im Kopf, aber ich bin mir ziemlich sicher, dass das digitalWrite das Timer-PWM "überschreibt" und nicht wie von dir gewünscht ein- und ausschaltet.
Jo schrieb: > Nun wollte ich einfach ein Signal über die Led schicken und > der TSOP soll diese empfangen. Es darf aber auch kein Dauersignal sein. Siehe Datenblatt!
Sebastian R. schrieb: > aber ich bin mir ziemlich sicher, dass > das digitalWrite das Timer-PWM "überschreibt" und nicht wie von dir > gewünscht ein- und ausschaltet. in der Tat.
Abhilfe: - Anstatt digitalWrite den Timer ein- und ausschalten. Die entsprechenden Funktionen dafür hast du ja sogar schon drin. - Etwas unschöner: Den anderen LED-Pin nicht an GND/VCC, sondern auch an einen GPIO und den dann ein- und ausschalten.
Datenblatt Seite 5 ansehen: Maximum number of continuous short bursts/second = 800, Dauerfeuer klappt halt nicht. Was hat der Uno für einen Quarz? Deine Modulationsfrequenz scheint mir weit neben den 38kHz zu liegen. Btw: vielleicht solltest du eine der vielen Infrarot-Librarys in Betracht ziehen.
:
Bearbeitet durch User
COM2B0 muss gesetzt werden, nicht COM2B1. https://dbuezas.github.io/arduino-web-timers/#mcu=ATMEGA328P&timer=2&topValue=OCR2A&OCR2A=209&CompareOutputModeB=toggle&OCR2B=104
Ja mit der Library hat es geklappt. Aber ich dachte eigentlich, dass ich mind. einen Abstand von 5-10cm zwischen Led und Sensor hinbekomme. Momentan sind es nur so 1-2cm. Mache ich noch irgendwas falsch? Liegt das an der Led?
Jo schrieb: > Momentan sind es nur so 1-2cm. Mache ich noch irgendwas falsch? Das ist ohne Schaltplan schwer zu beantworten. Jo schrieb: > Liegt das an der Led? Eher an ihrer Ansteuerung.
Jo schrieb: > Mache ich noch irgendwas falsch? SendNEC ist blockierend, also wird der Eingang erst nach dem Ende der Übertragung abgefragt. Der wird dann nur bei starker Übersteuerung noch aktiv sein.
> SendNEC ist blockierend, also wird der Eingang erst nach dem Ende der > Übertragung abgefragt. Wie kann ich das verhindern? Und angehängt ist auch mein Schaltplan.
:
Bearbeitet durch User
Jo schrieb: > Und angehängt ist auch mein Schaltplan. Bei rund 25mA kommt da nicht viel raus, IR-LEDs werden normalerweise gepulst mit deutlich höheren Strömen betrieben. Da musst Du natürlich aufpassen, dass sie niemals dauerhaft eingeschaltet bleibt. Als Testempfänger nimmst Du besser erstmal einen Fernseher o.dgl., dann weisst Du immerhin sicher, dass es nicht an Deinem Empfänger liegt.
Jo schrieb: > Wie kann ich das verhindern? Das wird ein bisschen kniffeliger. Das einfachste wäre wohl, einen zweiten Arduino als Empfänger zu nutzen.
> Bei rund 25mA kommt da nicht viel raus, IR-LEDs werden normalerweise > gepulst mit deutlich höheren Strömen betrieben. Wie wird sowas dann umgesetzt?
> Das wird ein bisschen kniffeliger. Das einfachste wäre wohl, einen > zweiten Arduino als Empfänger zu nutzen. Okay, ich möchte in Zukunft eh einen Attiny85 20Su benutzten als Empfänger, jedoch ist es da schwieriger eine Library einzubauen oder? (Speicherprobleme)
Jo schrieb: > Heyy, > ich wollte nun das erste Mal mit einer IR-Led / einem IR-Sensor > arbeiten. Diese Diskussion ist in diesem Unterforum falsch. Hier sollen Projekte vorgestellt werden, die schon funktionieren. Moderation, bitte mal verschieben. Danke.
Jo schrieb: >> Das wird ein bisschen kniffeliger. Das einfachste wäre wohl, einen >> zweiten Arduino als Empfänger zu nutzen. > Okay, ich möchte in Zukunft eh einen Attiny85 20Su benutzten als > Empfänger, jedoch ist es da schwieriger eine Library einzubauen oder? > (Speicherprobleme) Oder. Ein Tiny85 hat 8k Flash und 512Bytes RAM, das reicht locker für einen IR-Empfänger. Zum Thema Reichweite dieser Empfänger bzw. der Ansteuerung der IR-LEDs. Beitrag "Re: Infrarot LED Lichtschranke" Wobei die Ansteuerung der IR-LED eher zu luxeriös ist. Ein einfacher Transistor in Emitterschaltung reicht hier locker bei 38kHz. https://www.mikrocontroller.net/articles/Transistor#Emitterschaltung Vorwiderstand für IR-LED nicht vergessen!
:
Bearbeitet durch User
> Oder. Ein Tiny85 hat 8k Flash und 512Bytes RAM, das reicht locker für > einen IR-Empfänger. Okay, ich hatte damals Probleme mit dem Code, ich versuche es aber nochmal. > Wobei die Ansteuerung der IR-LED eher zu luxeriös ist. Ein einfacher > Transistor in Emitterschaltung reicht hier locker bei 38kHz. Dass heißt ich kann das trotzdem ohne externe Stromquelle machen, die Led zieht sich dann halt ihre 100mA direkt von VCC und nicht über den Pin. Und könnte ich da auch dieses Mosfet 2N 7002 NXP verwenden? Das habe ich gerade da und sonst müsste ich wieder bestellen.
:
Bearbeitet durch User
Jo schrieb: >> Wobei die Ansteuerung der IR-LED eher zu luxeriös ist. Ein einfacher >> Transistor in Emitterschaltung reicht hier locker bei 38kHz. > Dass heißt ich kann das trotzdem ohne externe Stromquelle machen, Hää? > die > Led zieht sich dann halt ihre 100mA direkt von VCC und nicht über den > Pin. Ein Schaltplan sagt mehr als 1000 Worte. Siehe Anhang. > Und könnte ich da auch dieses Mosfet 2N 7002 NXP verwenden? Naja, reicht gerade so.
Okay perfekt, danke dir. Auf dem Datenblatt steht jetzt noch peak current 1A und Continous current 65mA. Heißt ich kann da Problemlos mit 100mA arbeiten oder?
https://www.mikrocontroller.net/articles/IRSND Beitrag "Re: IR -Fernbedienung automatisieren" Beitrag "Re: IR -Fernbedienung automatisieren"
:
Bearbeitet durch User
Jo schrieb: > Auf dem Datenblatt steht jetzt noch peak current 1A und Continous > current 65mA. Heißt ich kann da Problemlos mit 100mA arbeiten oder? Ja selbstverständlich kannst du das! Problemlos. Immer durch mit dem Elektronenzeug. Wird schon. Schau, die Datenblattschreiber machen das ja auch alles nur zum Spaß und weil sie sonst nichts Sinnvolles zu tun haben.
> Ein Schaltplan sagt mehr als 1000 Worte. Siehe Anhang.
Und wenn ich jetzt in Zukunft so 20 IR-Leds mit einem Arduino ansteuern
wöllte, gäbe es da effiziente Lösungen, um nicht 20 Pins mit 20
Transistoren zu belegen?
Jo schrieb: > Ich möchte aber alle unabhängig von einander ansteuern. Dann brauchst du 20 Ausgänge oder passende ICs, welche 20 zusätzliche Ausgänge bereitstellen. Was willst du mit 20 IR LEDs machen? Oder sollen das normale LEDs mit sichtbarem Licht sein. Dafür gibt es unzählige LED-Treiber ICs.
> Was willst du mit 20 IR LEDs machen?
Ich will damit an verschiedenen Stellen Daten an einen Empfänger
übertragen, heißt der Empfänger bewegt sich und an festen Stellen möchte
ich dann Informationen übertragen.
Jo schrieb: > Ich will damit an verschiedenen Stellen Daten an einen Empfänger > übertragen, heißt der Empfänger bewegt sich und an festen Stellen möchte > ich dann Informationen übertragen. Du hast einen langen Weg vor Dir – erstmal den µC begreifen und beherrschen, mit Anweisungen wie digitalWrite aus der Arduinojüngerszene etc, die im Hintergrund ganze Bildschirme mit Assemblerbefehlen füllen (das ist keine Übertreibung), man es aber mit einem einzigen erledigen kann, zeigt man den momentanen Stand der Dinge und der prophezeit nichts Gutes. Wenn das nach einigen Monaten oder Jahren (manche schaffen es nie) abgearbeitet und erledigt ist, kann man sich dem gewünschten TSOP nähern – wenn man nicht versteht oder begreift, was im Inneren abläuft und wie man den ansteuern sollte bzw. was man mit dem nicht machen darf, vor allem aber auch, dass man modulieren und ein Protokoll beim Senden und Empfangen verwenden muss, wird das nix – dabei ist so ein TSOP schon eine feine Sache und extreme Vereinfachung der Schaltung, denn wenn man diese diskret aufbauen müsste, wäre das in diesem Zusammenhang dann eine doppelte Katastrophe. Am Ende kann man sich der Beseitigung der Störungen in der Übertragung widmen, damit sich die Dinger im Wohn- oder Kinderzimmer nicht immer selbständig ein- oder ausschalten bzw. generell manchmal falsche Daten dekodiert/übertragen werden – bei der Betrachtung ist jetzt erstmal egal, ob mehrere Empfänger oder Sender oder wie auch immer verwendet werden. Die letzte Station ist die schwierigste bzw. am meisten von den Adepten und Möchte-Gerne-Machen-Leuten unterschätzte oder verdrängte.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.