Speedcourse Arduino van Bas Boot
Ieder keer als je de button indrukt gaat er een ander LED branden (zie filmpje). Voor schakeling zie afbeelding. Eerste 15 studenten die hieronder een comment achter laten kunnen meedoen.”
Vanmiddag heb ik meegedaan aan de speedcours Arduino. De opdracht was om 3 ledjes om de beurt te laten branden door op een knop te drukken. Het is best wel eng om geen google te gebruiken bij het coderen…
int led1 = 2;
int led2 = 3;
int led3 = 4;//Hetzelfde voor de button
int button = 13;//De Button geeft geen signaal
//booleans zijn alleen false of true
bool currentButtonState = false;
bool previousButtonState = false;//Het eerste ledje
int currentLed = led1;void setup() {//Deze pinnen zijn output
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
//Deze s input
pinMode(button, INPUT);
//led1 aan, de rest uit
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
void loop() {
// Hij leest
currentButtonState = digitalRead(button);
// if ((previousButtonState) && (!currentButtonState)) Zo kan het ook
if ((previousButtonState == true) && (currentButtonState == false))
{
// De huidige led gaat uit
digitalWrite(currentLed, LOW);
// “currentLed” wordt gekoppeld aan de volgende pin
currentLed = currentLed + 1;
// er zijn maar drie pinnen
if (currentLed > led3)
{
// Door if komt hij na de 3e komt de 1e
currentLed = led1;
}
// Nu gaat de volgende led aan omdat we “currentLed” aan de volgende pin hebben gekoppeld
digitalWrite(currentLed, HIGH);
}
// Einde van de loop, bereid je voor op de volgende loop
previousButtonState = currentButtonState;
}