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…

Von Torsten