artikel under construction

Deze pagina wordt nog aangevuld.

Oplossing looplicht

Voor deze oefening bestaan verschillende oplossingen. Hier volgt één van de meest eenvoudige.

De toepassing die hier gedemonstreerd wordt is dat je binnen een lus de waarde van de teller kunt gebruiken als variabele om op een elegante manier code te schrijven.

de setup

In de setup moeten we pinnen 3 tot 10 als output definiëren. We kunnen dit door 8 regels na elkaar met elke keer de pinMode instructie, maar dit is ook met een for-loop op te lossen.

void setup() {
  for(int i=3; i<=10;i++) {
    pinMode(i,OUTPUT);
  }
}

We initialiseren de teller op 3, en laten hem lopen tot en met 10. Voor elk van deze waarden voeren we een pinMode instructie uit, waarbij i de te configureren pin is.

Op dezelfde manier laten we nu de opeenvolgende leds aan- en uitgaan.

void loop() {
  for(int i=3; i<=10;i++) {
    digitalWrite(i,HIGH);
    delay(250);
    digitalWrite(i,LOW);
  }
}

De delay(250) zorgt voor een vertraging van 250ms, waardoor het looplicht 4 stappen per seconde neemt, en de gevraagde 4Hz frequentie bereikt wordt.

Een simulatie kun je vinden via deze link.