Ich möchte (genau) die nebenstehende Fernbedienung zur Eingabe von Zahlen nutzen.
Ich finde im Netz Beispielprogramme zum Decodieren, wie z. B. hier.
Allerdings habe ich noch keine Lösung mit Interruptabfrage gefunden, d.h. der Arduino soll sich erst mit der Auswertung von IR-Codes befassen, wenn auch welche gesendet wurden, z.B. über:
Die "einfache" IR-Abfrage ist im Zusammenspiel mit anderen Pin-Abfragen insofern problematisch, als je nach Zeitfenster für die IR-Abfrage entweder IR-Codes untergehen oder die anderen Pins taub sind, daher der Gedanke, die IR-Abfrage über Interrupt zu realisieren.
Hat jemand einen Tipp, wie man diese Fernbedienung per Interruptabfrage nutzen kann?
Beim NEC Protokoll startet die Übertragung
(auf Empfängerseite) z.B. damit, dass die Leitung für 9ms auf LOW gezogen wird.
Das kann man sich dann zu nutze machen.
Ich habe genau sowas schon mal gemacht
mir ging es damals drum die MCU aus dem PowerDown Modus zu holen sobald gesendet wird. Funktioniert Einwandfrei.
Was du beachten musst ist, dass du sobald du in der ISR Routine bist den entsprächenden Interrupt wieder deaktivieren musst bis du mit der Überprüfung fertig bist.
Beim NEC Protokoll startet die Übertragung
(auf Empfängerseite) z.B. damit, dass die Leitung für 9ms auf LOW gezogen wird.
Das kann man sich dann zu nutze machen.
Das hilft mir schon einmal weiter, danke!
Bei Ali wird diese FB als NEC Encoded beschrieben.
Kann das jemand bestätigen?
Das Nec-Protokoll habe ich auf ELV und mikrocontroller.net gefunden, mal sehen wie das geht ...
uwefed:
Wieso verwendest Du nicht einfach die IRremote Bibiothek?
Grüße Uwe
Hatte ich probiert. Ich wollte aber ausdrücklich die Variante mit Interruptabfrage und kein Polling, da zeitgleich andere Prozesse auf dem Arduino laufen. Ausgehend von der Lösung von Andrew Ippoliti habe ich nun eine vergleichsweise schlanke und zuverlässige Variante, die zwar ausschließlich auf den NEC-Code abzielt aber genau das macht, was ich brauche.