IR-Codes für eyeTV Infrarot-Fernbedienung

Mein aktuelles Arduino-Projekt benötigt eine Fernsteuerung, welche ohne Kabel daherkommen soll. Es lag nahe, hier auf Infrarot zu setzen – die Hardware ist unkompliziert zu handhaben und die notwendige Software existiert bereits für die Arduino-Plattform.

Ich hatte noch eine unbenutzte eyeTV-Fernbedienung herumliegen, welche jetzt umfunktioniert werden sollte. Die Einbindung in die Software war mit der Library Arduino-IRemote ein Kinderspiel. Das einzige was ein wenig Fleißarbeit erforderte, war das Herausfinden der gelieferten IR-Codes zu den einzelnen Tasten.

Die eyeTV-Fernbedienung sendet übrigens NEC-Codes, die Encoder-/Decoder-Funktionen für alle anderen Hersteller können daher in Arduino-IRemote auskommentiert werden – das spart noch mal etwas Speicher auf dem Arduino.

Nachfolgend die Liste der IR-Codes zu den einzelnen Tasten der eyeTV-Fernbedienung:

On/Off 0xA2A2807F
Mute 0xA2A240BF
1 0xA2A2C03F
2 0xA2A220DF
3 0xA2A2A05F
4 0xA2A2609F
5 0xA2A2E01F
6 0xA2A210EF
7 0xA2A2906F
8 0xA2A250AF
9 0xA2A2D02F
0 0xA2A2B04F
Last 0xA2A230CF
Enter 0xA2A2708F
Rot 0xA2A2F00F
Grün 0xA2A28877
Gelb 0xA2A2A857
Blau 0xA2A2E817
OK 0xA2A2C837
Vol + 0xA2A228D7
Vol – 0xA2A248B7
Ch + 0xA2A208F7
Ch – 0xA2A26897
Repeat 0xA2A218E7
Play/Pause 0xA2A29867
Skip 0xA2A258A7
Rewind 0xA2A2D827
L 0xA2A238C7
Forward 0xA2A2B847
Stop/Reveal 0xA2A27887
TXT 0xA2A2F807
Record/Size 0xA2A202FD
Hold 0xA2A2827D
Select 0xA2A242BD

Für’s schnelle Copy’n’Paste:

/**
 * eyeTV Remote Control Codes
 */
const unsigned long IR_REMOTE_ON_OFF      = 0xA2A2807F;
const unsigned long IR_REMOTE_MUTE        = 0xA2A240BF;
const unsigned long IR_REMOTE_1           = 0xA2A2C03F;
const unsigned long IR_REMOTE_2           = 0xA2A220DF;
const unsigned long IR_REMOTE_3           = 0xA2A2A05F;
const unsigned long IR_REMOTE_4           = 0xA2A2609F;
const unsigned long IR_REMOTE_5           = 0xA2A2E01F;
const unsigned long IR_REMOTE_6           = 0xA2A210EF;
const unsigned long IR_REMOTE_7           = 0xA2A2906F;
const unsigned long IR_REMOTE_8           = 0xA2A250AF;
const unsigned long IR_REMOTE_9           = 0xA2A2D02F;
const unsigned long IR_REMOTE_0           = 0xA2A2B04F;
const unsigned long IR_REMOTE_LAST        = 0xA2A230CF;
const unsigned long IR_REMOTE_ENTER       = 0xA2A2708F;
const unsigned long IR_REMOTE_RED         = 0xA2A2F00F;
const unsigned long IR_REMOTE_GREEN       = 0xA2A28877;
const unsigned long IR_REMOTE_YELLOW      = 0xA2A2A857;
const unsigned long IR_REMOTE_BLUE        = 0xA2A2E817;
const unsigned long IR_REMOTE_OK          = 0xA2A2C837;
const unsigned long IR_REMOTE_VOL_UP      = 0xA2A228D7;
const unsigned long IR_REMOTE_VOL_DOWN    = 0xA2A248B7;
const unsigned long IR_REMOTE_CH_UP       = 0xA2A208F7;
const unsigned long IR_REMOTE_CH_DOWN     = 0xA2A26897;
const unsigned long IR_REMOTE_REPEAT      = 0xA2A218E7;
const unsigned long IR_REMOTE_PLAY_PAUSE  = 0xA2A29867;
const unsigned long IR_REMOTE_SKIP        = 0xA2A258A7;
const unsigned long IR_REMOTE_REWIND      = 0xA2A2D827;
const unsigned long IR_REMOTE_L           = 0xA2A238C7;
const unsigned long IR_REMOTE_FORWARD     = 0xA2A2B847;
const unsigned long IR_REMOTE_REVEAL_STOP = 0xA2A27887;
const unsigned long IR_REMOTE_TXT         = 0xA2A2F807;
const unsigned long IR_REMOTE_SIZE_RECORD = 0xA2A202FD;
const unsigned long IR_REMOTE_HOLD        = 0xA2A2827D;
const unsigned long IR_REMOTE_SELECT      = 0xA2A242BD;