Die Arduino Infrarot Fernbedienung wird weiter optimiert und angepasst. Der Code aus der letzten Woche soll nun also so modifiziert werden, um das zu machen was er machen soll…
Aufgabenstellung:
Diese Infrarot-Projekt soll folgende Aufgabe erfüllen:
Taste 1 = rote LED leuchtet
Taste 2 = grüne LED leuchtet
Taste 3 = rote und grüne LED leuchten
Taste 4 = rote LED blinkt
Taste 5 = grüne LED blinkt
Taste 6 = rote und grüne LED blinken
Als IR-Receiver kommt auch immer noch der TSOP 4830 zum Einsatz.
Die Fernbedienung und die Sache mit den IR-Codes:
Für dieses Projekt wird eine Fernbedienung benötigt, die sich auf die Sony-Codes einstellen lässt.
Ein Druck auf Taste 1 erzeugt den Hex-Wert 10. Ein Druck auf Taste 5 sollte den Hex-Wert 210 ergeben. Da ich mich für eine Vivanco-Fernbedienung entschieden habe: Set und TV1-Taste drücken bis rote LED leuchtet und Code 045 einstellen.
Programmierung:
int led01 = 2; //LED 1 an digitalen Pin 2 angeschlossen
int led02 = 3; //LED 2 an digitalen Pin 3 angeschlossen
int receiverpin =11;
#include <IRremote.h>
IRrecv irrecv(receiverpin);
decode_results results;
void setup()
{
irrecv.enableIRIn();
// for-Schleife gelöscht
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void translateIR()
{
switch(results.value)
{
case 0x810: pinOn(2);
break;
case 0x410: pinOn(3);
break;
case 0xC10: pinOn(4);
break;
case 0x210: pinOn(5);
break;
case 0xA10: pinOn(6);
break;
case 0x610: pinOn(7);
break;
}
}
void pinOn(int pin)
{
digitalWrite(pin, HIGH);
}
void loop()
{
if(irrecv.decode(&results))
{
translateIR();
for (int z = 0 ; z < 2 ; z++)
{
irrecv.resume();
}
}
}
Die letzten beiden Codes, also der aus dem letzten Artikel und der Code aus diesem Artikel, schalten die LEDs leider noch nicht aus und sind somit noch fehlerhaft weil sie nicht das machen was sie machen sollen. Trotzdem wollte ich meine Versuche auf dem Weg zur Infrarot Fernbedienung hier dokumentieren. Die Experimente werden also weitergehen…