Stap 7: Arduino code
------------------------------------------------------------------------
Const int rood = 9;
Const int groen = 10;
Const int blauw = 11;
Const unsigned long tenMinutes = 600000; TIEN MINUTEN IN MILLISECONDEN
int incomingByte; BYTES ONTVANGEN SERIËLE POORT
VOID Setup {}
SETUP SERIËLE
pinMode(0,INPUT); SERIËLE INGANG OP PIN 0 (RX)
pinMode(1,OUTPUT); SERIËLE UITGANG OP PIN 1 (TX)
Serial.begin(9600);
ARDUINO R, G, B PENNEN VOOR UITVOER INSTELLEN
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
DOEN EEN BEETJE LICHT SHOW BIJ HET STARTEN VAN
CrossFade(000,000,000,000,000,255,5000); OFF TO BLUE
LightShow(4000); EENS LANGZAAM
LightShow(2000); EENMAAL MIDDELLANGE
LightShow(1000); EENMAAL SNEL
LightShow(1000); TWEEDE KEER SNEL
CrossFade(000,000,255,000,000,000,1000); BLAUW OP UIT
}
void loop {}
/*************************************************************
* B - gebouw
* S - succesvolle build - toekomst S [, mp3 bestandsnaam]
* F - mislukte build - toekomst F [, mp3 bestandsnaam]
* C, RRR, GGG, BBB - weergeven een kleuren
* O - uitschakelen
* P, mp3 filename - Play mp3 (toekomst)
* X RRR, GGG, BBB, RRR, GGG, BBB, tttt - cross-fade kleur op kleur
* L - lichtshow
*************************************************************/
Als (Serial.available() > 0) {}
incomingByte = Serial.read();
schakelaar (char(incomingByte)) {}
Case "B": //BUILDING
Building(Millis() + tenMinutes);
breken;
geval van ': //SUCCESSFUL bouwen
SuccessfulBuild(millis() + tenMinutes);
breken;
Case "F": //FAILED bouwen
FailedBuild(millis() + tenMinutes);
breken;
Case "C": //DISPLAY een kleur
delay(50); VERTRAGING ZODAT DE GEGEVENS KUNNEN WORDEN VERZONDEN
SetColor(GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3));
breken;
geval ' o ': //ORB OFF
SetColor(0,0,0);
Serial.Flush();
breken;
kast 'P': //PLAY MP3
delay(50); VERTRAGING ZODAT DE GEGEVENS KUNNEN WORDEN VERZONDEN
PlayMP3();
breken;
kast 'X': //CROSS VERVAGEN
delay(50); VERTRAGING ZODAT DE GEGEVENS KUNNEN WORDEN VERZONDEN
CrossFade(GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(3),GetNumberFromSerial(4));
breken;
geval 'L': //LIGHT Toon
CrossFade(000,000,000,000,000,255,5000); OFF TO BLUE
LightShow(5000);
CrossFade(000,000,255,000,000,000,5000); BLAUW OP UIT
breken;
standaard: //UNHANDLED
Serial.Flush();
}
}
}