Hier mein Code:
/*
* IRremote: IRrecvDump - dump details of IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <SoftwareSerial.h>
#include <IRremote.h>
#define txPin 12
SoftwareSerial LCD = SoftwareSerial(0, txPin);
/***************** LG REMOTE CODES ***************/
#define KEY_POWER 0x20DF10EF
#define KEY_OK 0x0DF22DD
#define KEY_LEFT 0x20DFE01F
#define KEY_RIGHT 0x20DF609F
#define KEY_UP 0x20DF02FD
#define KEY_DOWN 0x20DF827D
#define KEY_VOL_UP 0x20DF40BF
#define KEY_VOL_DOWN 0x20DFC03F
#define KEY_MUTE 0x20DF906F
#define KEY_PROG_UP 0x20DF00FF
#define KEY_PROG_DOWN 0x20DF807F
#define KEY_MENU 0x20DFC23D
#define KEY_0 0x20DF08F7
#define KEY_1 0x20DF8877
#define KEY_2 0x20DF48B7
#define KEY_3 0x20DFC837
#define KEY_4 0x20DF28D7
#define KEY_5 0x20DFA857
#define KEY_6 0x20DF6897
#define KEY_7 0x20DFE817
#define KEY_8 0x20DF18E7
#define KEY_9 0x20DF9867
long KEY_codes[] = {0x20DF10EF, 0x20DF22DD, 0x20DFE01F, 0x20DF609F, 0x20DF02FD, 0x20DF827D, 0x20DF40BF, 0x20DFC03F, 0x20DF906F, 0x20DF00FF, 0x20DF807F, 0x20DFC23D, 0x20DF08F7, 0x20DF8877, 0x20DF48B7, 0x20DFC837, 0x20DF28D7, 0x20DFA857, 0x20DF6897, 0x20DFE817, 0x20DF18E7, 0x20DF9867};
String KEY_buttons[] = {"POWER", "OK", "LEFT", "RIGHT", "UP", "DOWN", "VOL_UP", "VOL_DOWN", "MUTE", "PROG_UP", "PROG_DOWN", "MENU", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
int KEY_array_size = (sizeof(KEY_codes)/sizeof(long));
String TranslateCode(long code)
{
String giveback = "";
/*
long codes[] = {0x20DF10EF, 0x20DF22DD, 0x20DFE01F, 0x20DF609F, 0x20DF02FD, 0x20DF827D, 0x20DF40BF, 0x20DFC03F, 0x20DF906F, 0x20DF00FF, 0x20DF807F, 0x20DFC23D, 0x20DF08F7, 0x20DF8877, 0x20DF48B7, 0x20DFC837, 0x20DF28D7, 0x20DFA857, 0x20DF6897, 0x20DFE817, 0x20DF18E7, 0x20DF9867};
String buttons[] = {"POWER", "OK", "LEFT", "RIGHT", "UP", "DOWN", "VOL_UP", "VOL_DOWN", "MUTE", "PROG_UP", "PROG_DOWN", "MENU", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
int array_size = (sizeof(codes)/sizeof(long));
*/
//check if code id in
for(int xi = 0; xi < KEY_array_size; xi++ )
{
if(code == KEY_codes[xi])
{
return KEY_buttons[xi];
}
}
return "UNKNOWN";
}
/***************** END CODES **********************/
boolean CheckKeyPressedValid(long code)
{
for(int xi = 0; xi < KEY_array_size; xi++ )
{
if(code == KEY_codes[xi])
{
return true;
}
}
// else
return false;
}
int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;
// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
// decode_results *results = (decode_results *)v
void dump(decode_results *results) {
int count = results->rawlen;
if (results->decode_type == UNKNOWN) {
////////Serial.println("Could not decode message");
}
else {
if (results->decode_type == NEC) {
////////Serial.print("Decoded NEC: ");
}
else if (results->decode_type == SONY) {
////////Serial.print("Decoded SONY: ");
}
else if (results->decode_type == RC5) {
////////Serial.print("Decoded RC5: ");
}
else if (results->decode_type == RC6) {
////////Serial.print("Decoded RC6: ");
}
////////Serial.print(results->value, HEX);
////////Serial.print(" (");
////////Serial.print(results->bits, DEC);
////////Serial.println(" bits)");
}
////////Serial.print("Raw (");
////////Serial.print(count, DEC);
////////Serial.print("): ");
for (int i = 0; i < count; i++) {
if ((i % 2) == 1) {
////////Serial.print(results->rawbuf[i]*USECPERTICK, HEX);
}
else {
////////Serial.print(-(int)results->rawbuf[i]*USECPERTICK, HEX);
}
////////Serial.print(" ");
}
////////Serial.println("");
}
char* StrToChar(String str)
{
char str_c[str.length()+1];
str.toCharArray(str_c, (str.length() + 1));
return str_c;
}
//#####################################################