Yun Projekt Universalfernbedienung
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.
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.
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.
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/
// 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
};
RGB-Controller (44 Tasten Fernbedieung Version)
Kommando: rgb44/
// 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
};
LG TV
Kommando: tv/
// 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
};
Internet Radio: IPdio mini
Kommando: radio/
// 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
};
Funksteckdosen Typ ME
Kommando: funk/
Die IR-Kommandos können aber natürlich mithilfe der IR-Library aus einer Fernbedienung ausgelesen und im Quelltext angepasst werden.