Stap 6 - Wachten maar
In onderstaande codeblok hebben we alle code voor de stap wachten
verder ingevuld. Dit is de tweede stap in ons programma.
void loop(){
if(stap == "nieuw") {
// Kiezen we een random wachttijd tussen 2 en 10 seconden
wachttijd = millis() + random(2,11) * 1000;
// Als we dat gedaan hebben, kunnen we gaan wachten.
stap = "wachten";
} else if(stap == "wachten") {
// Zolang we aan het wachten zijn, moet het LEDje branden
digitalWrite(A3, HIGH);
// Alleen als de wachttijd verstreken is..
if(millis() >= wachttijd) {
// Gaan we naar de volgende stap; tellen.
stap = "tellen";
}
} else if(stap == "tellen") {
// Nu zijn we bij de laatste stap
}
}
In de eerste regel zetten we het LEDje aan door een HIGH te schrijven naar pin A3 met behulp van digitalWrite()
.
Vervolgens controleren we met een if
-statement of we al naar de volgende en laatste stap ( tellen
) kunnen.
Tip: Het controleren of de willekeurig gekozen wachttijd al voorbij is doen we door te kijken naar het huidige aantal milliseconden dat de Marvin al aan staat. Dit doen we met millis()
. Als de waarde die hieruit komt groter of gelijk aan (>=
) onze eerder bepaalde wachttijd
is, kunnen we door naar de volgende stap.