Arduino – Infrarot Sende- und Empfangsmodul – Teil 1

In diesem Beitrag geht es um ein selbstgebautes Arduino Infrarot Sende- und Empfangsmodul für die Unterputzmontage das im Endausbau über das RS485 Protokoll mit der Loxone kommuniziert. Heute geht es aber erstmal nur um den Aufbau des Moduls, das Dekodieren bzw. das Einlesen von einer IR Fernbedienung und das Senden der eingelesenen IR Befehle per seriellen Befehl.

Wofür das ganze? Eigentlich will ich nur 2 Tasten einer Fernbedienung „Smart“ machen, denn das wichtigste (Denon Receiver und VU+ Solo²) kann der Loxone Miniserver schon über Netzwerk steuern, nur den EPSON Beamer nicht. Das hat uns bisher nicht wirklich gestört. Man muss ihn ja auch nur per Fernbedienung einschalten, aber genau das ist ja nicht Smart und somit ein Grund zum basteln 🙂 .

Ich habe in dem Projekt folgende Teile verbaut:
– Arduino Uno in der Testphase später Arduino Pro Micro (ATmega32U4 @ 5V/16MHz)
– IR Sensor (38KHz – TSOP38238)
– IR LED (950NM)
– NPN Transistor (BC548)
– Widerstand 22 Ohm (Je nach LED)
– Widerstand 1k Ohm

Die Verkabelung der einzelnen Komponenten habe ich vorweg auf einem Steckbrett ausprobiert. Arduino IR Modul - Steckplatine

Der Aufbau sollte mit folgendem Bild etwas besser zu erkennen sein. Der genutzte Transistor (BC548) hat, wenn man wie auf dem Bild auf die Flache Seite schaut, links Collector, in der Mitte Base und rechts Emitter. Der 22 Ohm Widerstand geht von der IR LED zum Collector und der 1k Ohm Widerstand ist zwischen Arduino und der Base. Der IR Sensor kann direkt mit dem Arduino verbunden werden. Der PIN 2 für den IR Sensor ist nicht wie PIN 3 für die IR LED fest in der Library vorgegeben und kann daher angepasst werden.
Arduino IR Modul - Steckplatine

Die IR Library (IRremote) die ich genutzt habe, könnt ihr auf Github (externer Link: https://github.com/shirriff/Arduino-IRremote) oder im Download Bereich zusammen mit meinem Arduino Beispiel Skript runterladen.

Wenn die Library eingebunden ist, kann mit dem in der Library enthaltenen Beispiel Skript IRrecvDump der Code der Fernbedienung bzw. des IR Befehls ausgelesen werden. Je nachdem wo ihr den IR Sensor angeschlossen habt, muss die Variable RECV_PIN in Zeile 13 angepasst werden. Nach dem hochladen den Serial Monitor öffnen, auf eine Taste der Fernbedienung drücken und schauen was ausgegeben wird.

Beispiele (Ausgabe gekürzt):
Epson Beamer – Power On
Decoded NEC: C1AA09F6 (32 bits)

Epson Beamer – Power Off
Decoded NEC: C1AA8976 (32 bits)

Denon AVR – Power On
Decoded PANASONIC – Address: 2A4C Value: 2840086 (48 bits)

Denon AVR – Power Off
Decoded PANASONIC – Address: 2A4C Value: 28C008E (48 bits)

Die Daten müssen dann je nach Protokoll (SONY, NEC, PANASONIC, RC5, RC6, …) entsprechend aufbereitet werden. Leider sind die Protokolle sehr unterschiedlich und jedes hat scheinbar seine Eigenart aber immer noch besser als die Impulse per RAW Daten nachzubauen. Passend zu den Beispielen oben jeweils nur der Befehl für Power On:

In dem Beispiel Skript aus dem Download Bereich können über den Serial Monitor die einzelnen IR Befehle abgerufen werden. Um zu prüfen ob die IR LED überhaupt angesteuert wird kann man mit einem Smartphone oder einer Kamera (ohne IR Filter) die LED leicht lila blinken sehen.

Im nächsten Teil wird dann alles mit dem RS485 Modul in eine Unterputzdose montiert und mit dem Loxone Miniserver bzw. der Loxone RS485 Extension verbunden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

code