Stap 4: Download het programma
Hier is de code van arduino:/*
Door Daniel Solis
Gelicenseerd onder Creative Commons Naamsvermelding-GelijkDelen 3.0 Unported
http://creativecommons.org/licenses/by-sa/3.0/
Bent u in staat deze code, evenals de hardware wijzigen. Als u
hebben een betere code of breng de gewenste wijzigingen de performa verbeteren
nvu Neem deel ze
Analoge pin 4: ipod TX (naar detect ipod)
Analoge pin 0: knop detectie
Digitale pin 1: arduino TX
*/
byte mode2 [] = {0xFF, 0x55, 0x03, 0x00, 0x01, 0x02, 0xFA}; //mode 2 opdracht
byte nobutton [] = {0xFF, 0x55, 0x03, 0x02, 0x00, 0x00, 0xFB}; //button release opdracht
int release = 200;
opdrachten
byte playxpause = 0x01;
byte nextsong = 0x08;
byte prevsong = 0x10;
byte shuffle [] = {0xFF, 0x55, 0x04, 0x02, 0x00, 0x00, 0x80, 0x7A};
int lang; / /
int butbefore = 1023;
int dockbef = 0;
VOID Setup
{
Serial.begin (19200); //sets seriële com
voor (int p = 0; p < 7; p ++)
{Serial.print(mode2[p],HEX);} mode2-opdracht verstuurt
}
void loop
{
int dock=analogRead(4);
Als (dok! = dockbef) //checks als er een iPod aangesloten
{
voor (int p = 0; p < 7; p ++) //if niet, stuurt het opnieuw mode2 opdracht
{Serial.print(mode2[p],HEX);}
}
int butnow=analogRead(0);
Als (butnow! = butbefore & & millis ()-tijd > release)
{
Als (butnow! = hoog) //wait voor knop ingedrukt
{
time=Millis();
if(butnow==0) / /
{
srlcommand(playxpause);
}
Als (butnow > 948 & & butnow < 953)
{
srlcommand(nextsong);
}
Als (butnow > = 506 & & butnow < 508)
{
srlcommand(prevsong);
}
Als (butnow > 955 & & butnow < 963)
{
voor (int d = 0; d < 8; d ++)
{Serial.print(shuffle[d],BYTE);}
}
}
}
anders
{
voor (int d = 0; d < 7; d ++)
{Serial.print(nobutton[d],BYTE);} geen knop ingedrukt opdracht
}
butbefore = butnow;
}
VOID srlcommand(byte select)
{
checksum van de bytes = 0x00-0x03-0x02-0x00-Selecteer; //checksum van lengte, mode en opdracht
byte inst [] = {0xFF, 0x55, 0x03, 0x02, 0x00, select, controlesom}; //general structuur
voor (int m = 0; m < 7; m ++)
{Serial.print(inst[m],BYTE);} stuurt de opdracht
}