Elektronik-Dachbude |
http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html
Auf der Seite von Ken Shirriff kann man sich die Dateien runterladen,
inlusive einiger Beispiele. Besonders geeignet: IRrecDemo um damit Signale direkt
auszulesen oder IRrecDump um auch Informationen über das verwendete Protokoll
zu bekommen. Alles was man dafür benötigt ist ein IR-Empfangs-Modul. Die Ausgabe
erfolgt über das Terminal.
Auf dem Bild sieht man im Terminal den Code der empfangen
wurde. Die Eins steht für das Protokoll (NEC) und die lange Zahl repräsentiert
den Code. Auf dem unten Bild ist das verwendete IR-Modul abgebildet. Die Pins
sind aber von Typ zu Typ unterschiedlich.
Bei meinem ersten Test habe ich das Beispiel IRrecvDemo angepasst.
Die Versorgungspins des Moduls habe ich einfach die in freie Pins des
Controllers gesteckt, um mir Arbeit bei der Verdrahtung zu sparen. Im Programm musste ich nur die entsprechenden Pins High oder
Low setzen. Da das Modul unter 40 mA benötigt und 5 V kompatibel ist, kann in
diesem Fall ohne Bedenken so vorgehen.
Nachtrag zu neueren Arduino Versionen:
In den neueren Arduino Versionen (vermutlich ab 1.5 BETA)
ist die IR-Library in der Robot-Library integriert. Das führt aber anscheinend
zu Problemen beim Kompilieren. In einem Forumeintrag habe ich die Lösung zu
diesem Problem gefunden. Die Dateien IRremoteTools.cpp und IRremoteTools.h in
dem Ordner libraries\RobotIRremote\ scheinen doppelt vorhanden zu sein.
Deswegen habe ich diese beiden Dateien in einen Ordner unabhängig der Arduino
Umgebung zwischen gespeichert. Mutige können die Dateien auch einfach löschen. Danach
kann man die Library einfach einbinden und das Programm kompilieren.
Das angepasste
Programm: