Stap 3: De code uploaden
Begin met het knipperen zonder uitstel voorbeeld om te begrijpen van het laatste project.
Zodra gedaan, laden de eindproject. Zorg ervoor dat het juiste bord is geselecteerd! U hebt drie leven, elke keer dat u op de knop wanneer het licht is niet op de middelste LED, je verliest een leven. Zodra je van het leven uitgeput, het spel opnieuw wordt gestart. Wanneer u klikt wanneer het lampje het midden LED, de lichten rots sneller brandt. Dank u en veel geluk!
Hier is de code
int LEDpos = 1;
int leds [] = {1,2,3,4,5,6,7,8,9}; int ledStateA = laag; int var = 10; int status = 0; int knop = 13; int leven = 3;
ledState gebruikt voor het instellen van de LED lange previousMillis = 0; laatste keer LED werd bijgewerkt zal slaan
lange interval = 500; interval waartegen knipperen (milliseconden)
void setup {//All LEDs zijn stellen als uitvoerapparaat voor (int een = 2; een < 11; a ++) {pinMode (a, OUTPUT);} pinMode (button, INPUT); Serial.begin(9600); }
void loop {if(lives==0) //Setting beginnen interval {interval = 500;}
Detecteren als toets if(digitalRead(button) == LOW) {Serial.println("pressed"); if(LEDpos==6) / / knop werd ingedrukt op de middelste LED!! {interval / = 1.5; / / verminderen interval; LED knipperen sneller //Blink middelste LED tweemaal voor de gebruiker om op te merken hij won! digitalWrite(6,HIGH); delay(200); digitalWrite(6,LOW); delay(200); digitalWrite(6,HIGH); delay(200); digitalWrite(6,LOW); Serial.println ("niveau omhoog"); } else / / knop werd ingedrukt maar niet in het midden leidde :( {delay(200); digitalWrite (LED's [1], hoge); leven--; / / gebruiker verloren een leven} if(lives==0) {interval = 500; Serial.println ("GAME OVER"); }} unsigned long currentMillis = millis();
Als (currentMillis - previousMillis > interval) {if(status==0) {als (LEDpos > 9) status = 1; anders LEDpos ++;} if(status==1) //Reached het begin {als (LEDpos < 3) status = 0; anders {LEDpos--; if(LEDpos == 2) status = 0;}} / / opslaan van de laatste keer dat u de LED-previousMillis knipperde = currentMillis; //Turn uit alle LEDs voor (int x = 2; x < = 10; x ++) {digitalWrite (x, laag);}
Inschakelen van de LED-digitalWrite (LEDpos, hoge); }
}