Code Teil zwei
void setup()
{ pinMode(13, OUTPUT); // Set pinMode for Test LED
Serial.begin(9600); // Startet serielle Schnittstelle für seriellen Monitor
irrecv.enableIRIn(); // Start the receiver
// Add the items to the menu
myMenu.addItem(item001);
myMenu.addItem(item101);
myMenu.addItem(item102);
myMenu.addItem(item103);
myMenu.addItem(item002);
myMenu.addItem(item201);
myMenu.addItem(item202);
myMenu.addItem(item203);
myMenu.addItem(item003);
myMenu.addItem(item301);
myMenu.addItem(item302);
myMenu.addItem(item303);
myMenu.addItem(item403);
myMenu.addItem(item401);
myMenu.addItem(item402);
myMenu.addItem(item403);
myMenu.addItem(item005);
myMenu.addItem(item501);
myMenu.addItem(item502);
myMenu.addItem(item503);
myMenu.addItem(item504);
myMenu.addItem(item505);
myMenu.addItem(item506);
myMenu.addItem(item006);
myMenu.addItem(item601);
myMenu.addItem(item602);
myMenu.addItem(item603);
myMenu.addItem(item604);
myMenu.addItem(item605);
myMenu.addItem(item606);
myMenu.addItem(item607);
myMenu.addItem(item608);
myMenu.addItem(item007);
myMenu.addItem(item701);
myMenu.addItem(item702);
myMenu.addItem(item703);
myMenu.addItem(item704);
myMenu.addItem(item705);
myMenu.addItem(item706);
myMenu.addItem(item707);
myMenu.addItem(item708);
myMenu.addItem(item013);
myMenu.addItem(item801);
myMenu.addItem(item802);
myMenu.addItem(item803);
myMenu.addItem(item804);
myMenu.addItem(item805);
myMenu.addItem(item806);
myMenu.addItem(item807);
myMenu.addItem(item808);
myMenu.addItem(item014);
myMenu.addItem(item901);
myMenu.addItem(item902);
myMenu.addItem(item903);
myMenu.addItem(item010);
myMenu.addItem(item1001);
myMenu.addItem(item1002);
myMenu.addItem(item1003);
myMenu.addItem(item011);
myMenu.addItem(item1101);
myMenu.addItem(item1102);
myMenu.addItem(item012);
myMenu.addItem(item1201);
myMenu.addItem(item1202);
myMenu.addItem(item1203);
myMenu.addItem(item1204);
myMenu.addItem(item1205);
myMenu.addItem(item1206);
myMenu.addItem(item1207);
myMenu.addItem(item1208);
myMenu.addItem(item1209);
myMenu.addItem(item1210);
myMenu.begin(001); // Start at the Menu with at the MenuItem you want
lcd.begin(20, 4);
// Add the display to the menu
myMenu.addLCD(&lcd);
}
//**********************************************************************************************************************************************************
//************************************************************IR-Receiver-Storrage-Routine******************************************************************
//**********************************************************************************************************************************************************
int codeType = -1; // The type of code
unsigned long codeValue; // The code value if not raw
int codeLen; // The length of the code
//---------------------------------------------------------------------------------------------------------------------------------------------------
void loop()
{
//IrAbfrage();
MenuSelect();
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
//##############################Abfrage des IR-Controllers####################################
void IrAbfrage()
{
if (irrecv.decode(&results))
{
digitalWrite(STATUS_PIN, HIGH);
storeCode(&results);
irrecv.resume(); // resume receiver
digitalWrite(STATUS_PIN, LOW);
}
}
//##################################IR-Code dekodieren########################################
void storeCode(decode_results *results) // Stores the code for later playback
{
codeType = results->decode_type;
int count = results->rawlen;
if (codeType == RC5)
{
//if (results->value != REPEAT)
//{
Serial.println(results->value, HEX);
IrRaw = String(results->value, HEX);
codeValue = results->value;
codeLen = results->bits;
IrDekodieren();
/* //Prüfen ob Hauptmenü oder Submenü aktiv
if (HMenueaktiv == false && SMenuektiv != true)
{Hauptmenuesteuerung();}
else //if (SMenuektiv == true)
{Submenuesteuerung();}
/*else if (S2Menueaktiv == true)
{Sub2menuesteuerung();)
//}*/
}
}
//------------------------------------------------------------------------------------------------------
void ledTest()
{
digitalWrite(13, HIGH);
delay(3000);
digitalWrite(13, LOW);
}
//---------------------------------------------------------------------------------------------------------------------------------------------------
void MenuSelect ()
{
// Check if a button was press
if(IrEingabe == "right"){myMenu.goForward();}
if(IrEingabe == "up"){myMenu.goUp();}
if(IrEingabe == "left"){myMenu.goDown();}
if(IrEingabe == "left"){myMenu.goBack();}
// Check if selectbutton was press
if(IrEingabe == "select")
{
select = myMenu.select(); //use select() to check if the item you are at has a runable function
switch(select)
{
case 033: //if found a funtion for a item run it
ledTest();
break;
default:
break;
}
}
}
//----------------------------------------------------------------------------------------------------------------------------------------------------
void IrDekodieren ()
{
if (IrRaw == "1" || "801") {IrEingabe = "Taste 1";}
else if (IrRaw == "2" || "802") {IrEingabe = "Taste 2";}
else if (IrRaw == "3" || "803") {IrEingabe = "Taste 3";}
else if (IrRaw == "4" || "804") {IrEingabe = "Taste 4";}
else if (IrRaw == "5" || "805") {IrEingabe = "Taste 5";}
else if (IrRaw == "6" || "806") {IrEingabe = "Taste 6";}
else if (IrRaw == "7" || "807") {IrEingabe = "Taste 7";}
else if (IrRaw == "8" || "808") {IrEingabe = "Taste 8";}
else if (IrRaw == "9" || "809") {IrEingabe = "Taste 9";}
else if (IrRaw == "0" || "800") {IrEingabe = "Taste 10";}
else if (IrRaw == "a" || "80a") {IrEingabe = "Taste 11";}
else if (IrRaw == "3d" || "83d") {IrEingabe = "Taste 12";}
else if (IrRaw == "37" || "837") {IrEingabe = "hh minus";} // Kontrast minus
else if (IrRaw == "36" || "836") {IrEingabe = "hh plus";} // Kontrast plus
else if (IrRaw == "32" || "832") {IrEingabe = "mm minus";} // Helligkeit plus
else if (IrRaw == "34" || "834") {IrEingabe = "mm plus";} // Helligkeit plus
else if (IrRaw == "29" || "829") {IrEingabe = "left";} // Rückspulen taste
else if (IrRaw == "2b" || "82b") {IrEingabe = "right";} // Vorspulen taste
else if (IrRaw == "2e" || "82e") {IrEingabe = "up";} // Pause Taste
else if (IrRaw == "3f" || "83f") {IrEingabe = "down";} // Stop
else if (IrRaw == "3c" || "83c") {IrEingabe = "select";} // play
else if (IrRaw == "c" || "80c") {IrEingabe = "power";} // Powertaste
else if (IrRaw == "d" || "80d") {IrEingabe = "mute";} // mute taste
else if (IrRaw == "24" || "824") {IrEingabe = "I/II";} // I/II Taste
else if (IrRaw == "38" || "838") {IrEingabe = "TV";} // TV/VCR Taste
else if (IrRaw == "f" || "80f") {IrEingabe = "Punkt";} // Punkt Taste
else if (IrRaw == "10" || "810") {IrEingabe = "Vol+";}
else if (IrRaw == "11" || "811") {IrEingabe = "Vol-";}
else if (IrRaw == "20" || "820") {IrEingabe = "Chan+";}
else if (IrRaw == "21" || "821") {IrEingabe = "Chan-";}
}