Yun Projekt Universalfernbedienung

Yun Universal Fernbedienung

Das Ziel dieses Arduino Yun Projekt war es, eine Art übers WLAN steuerbare Universalfernbedienung für sowohl Infrarot als auch Funksignale zu realisieren. Dabei kommen einige bereits vorgestellte Bauteile und Libraries zum Einsatz.

Dieses Projekt ist eigentlich schon seid einiger Zeit fertig und im Einsatz, allerdings habe ich die Projektdateien nicht wiedergefunden. Nun sind sie aber wieder aufgetaucht und ich versuche mal alle Erkenntnisse zu rekonstruieren. Die Dokumentation ist deswegen allerdings nicht so ausführlich.

Der Aufbau:

Der Aufbau ist recht unkompliziert. Das Funkmodul ist in die analogen Pins A1-A3 gesteckt. Masse befindet sich im A1 Pin und VCC in A3. Beide Pins sind im Programm entsprechend geschaltet sodass die Stromversorgung gewärleistet ist.

Yun Universal Fernbedienung

Aufbau der Yun Universal Fernbedienung

Bei den IR-Dioden war etwas mehr Arbeit nötig. Eine einzelne Dioden würde zwar auch Signale übertragen, da das Board aber entfernt von allen Geräten steht brauchte ich ein stärkeres Signal. Dies wird dadurch erzeugt, dass drei IR-Dioden direkt in Reihe geschaltet sind und mit  5 V ohne Vorwiderstand angesteuert werden. Im Dauerbetrieb würde der Strom die Dioden sicher killen, da die Impulse aber nur sehr kurz sind, ist dies verkraftbar, auch wenn die Lebensdauer der Dioden sicher dezimiert wird. Die rund 10 Monate die ich diese Konstellation in Betrieb habe gab es zumindest keine Ausfälle.

IR Mini Shield

IR Mini Shield (oben)

IR Mini Shield (unten)

IR Mini Shield (unten)

Die IR Sendedioden sind nicht direkt am Steuerpin D13 angeschlossen, da die Arduino Pins maximal 20 mA liefern können. Deswegen steuert der Pin einen Leistungstransistor durch, der auch schon u.a. durch das RGB Treiber Modul bekannt ist. Dieser steuert dann die 5 V aus dem Spannungswandler durch. Diese Spannung kann über den ISP Stecker abgegriffen werden. Dadurch gewinnt das Minishield an Stabilität. Zwei Kontaktpins stecken zudem in Pins D2 und D3 und stabilisieren das Shield zusätzlich. Für die Schaltung sind sie aber unerheblich.

 

Yun IR Minishield Fritzing

Schematischer Aufbau des Minishields mit Fritzing

IR Mini Shield (aufgesteckt)

IR Mini Shield (aufgesteckt)

Das Programm:

Das Programm basiert auf dem Bridge Beispiel (Beispiel -> Bridge -> Bridge). Es wird ein Server am Port 5555 gestartet an den dann Kommandos gesendet werden können. Diese Kommandos werden über ein Querstrich nach der IP des Yuns übermittelt. Nach einem zweiten Querstrich folgt dann meinst ein zweites Kommando in Form einer Zahl. So wird zunächst das anzusteuernde Gerät ermittelt und dann welcher Befehl gesendet werden soll. Als Beispiel:

192.168.2.5/tv/5

Damit das Beispiel funktionieren kann, müssen ebenfalls folgende Libraries installiert sein:

Artikel: IR-Library (in neueren Arduino Versionen meist enthalten)

Direkt: Funkmodul Library (Artikel: Funksteckdosen steuern)

Insgesamt kann mit dem Programm folgende Geräte angesteuert werden:

 

RGB-Controller (24 Tasten Fernbedienung Version)

Kommando: rgb24/

IR-Codes in Hexformat

// RGB 24-Taste
//An, Aus, Heller, Dunkler
//Rot 4-8
//Grün 9-13
//Blau 14-18
//Weiß 19
//Flash Strobe Fade Smooth 20-23
long RGB24[24] = {
0xF7C03F, 0xF740BF, 0xF700FF, 0xF7807F,
0xF720DF, 0xF710EF, 0xF730CF, 0xF708F7, 0xF728D7,
0xF7A05F, 0xF7906F, 0xF7B04F, 0xF78877, 0xF7A857,
0xF7609F, 0xF750AF, 0xF7708F, 0xF748B7, 0xF76897,
0xF7E01F,
0xF7D02F, 0xF7F00F, 0xF7C837, 0xF7E817
};

[collapse]

RGB-Controller (44 Tasten Fernbedieung Version)

Kommando: rgb44/

IR-Codes in Hexformat

// RGB 44-Tasten
//Power Play Heller Dunkler 0-3
//Rot 4-8
//Grün 9-13
//Blau 14-18
//Weiß 19-23
//Quick Slow Auto Fade3 Fade7 24-28
//Rot+ Rot- Grün+ Grün- Blau+ Blau-
long RGB44[44] = {
0xFF02FD, 0xFF827D, 0xFF3AC5, 0xFFBA45,
0xFF1AE5, 0xFF2AD5, 0xFF0AF5, 0xFF38C7, 0xFF18E7,
0xFF9A65, 0xFFAA55, 0xFF8A75, 0xFFB847, 0xFF9867,
0xFFA25D, 0xFF926D, 0xFFB24D, 0xFF7887, 0xFF58A7,
0xFF22DD, 0xFF12ED, 0xFF32CD, 0xFFF807, 0xFFD827,
0xFFE817, 0xFFC837, 0xFFF00F, 0xFF609F, 0xFFE01F,
0xFF28D7, 0xFF08F7, 0xFFA857, 0xFF8877, 0xFF6897, 0xFF48B7
};

[collapse]

LG TV 

Kommando: tv/

IR-Codes in Hexformat

// LG TV
//Power Laut+ Laut– Mute 0-3
// CH+ CH– AV OK Back 4-8
//Rechts Links Oben Unten 9-12
// 1-5 13-17
//6-0 18-22
unsigned long TV[23] = {
0x20DF10EF, 0x20DF40BF, 0x20DFC03F, 0x20DF906F,
0x20DF00FF, 0x20DF807F, 0x20DFD02F, 0x20DF22DD, 0x20DFDA25,
0x20DF609F, 0x20DFE01F, 0x20DF02FD, 0x20DF827D,
0x20DF8877, 0x20DF48B7, 0x20DFC837, 0x20DF28D7, 0x20DFA857,
0x20DF6897, 0x20DFE817, 0x20DF18E7, 0x20DF9867, 0x20DF08F7
};

[collapse]

Internet Radio: IPdio mini

Kommando: radio/

IR-Codes in Hexformat

// Radio
// Power Lauter Leiser 0-2
//Ch1-4 3-7
//Ch7-9 8-10
long RAD[11] = {
0xFFB24D, 0xFF32CD, 0xFF12ED,
0xFF08F7, 0xFFC03F, 0xFF807F, 0xFF906F,
0xFF9867, 0xFFD827, 0xFF8877
};

[collapse]

Funksteckdosen Typ ME

Kommando: funk/

Artikel

 

Die IR-Kommandos können aber natürlich mithilfe der IR-Library aus einer Fernbedienung ausgelesen und im Quelltext angepasst werden.