Arduino Hello World
logo

Arduino Hello World

Module 1 Module 2 Module 3 Module 4 Module 5 Module 6 Module 7

Module 6
Modulair en gestructureerd programmeren

Home Eigen functies For-lus met increment Lijsten

For-lus met increment

Lees de documentatie van de for-functie.

De functie heeft 3 parameters namelijk de initialisatie, voorwaarde en increment.

  • De actie wordt meerdere malen herhaald.
    • Er wordt een teller bijgehouden. Bij elke herhaling wordt de teller met 1 verhoogd.
    • Wanneer het maximaal aantal herhalingen wordt bereikt, en de teller dus het maximum heeft gehaald, stopt de actie.
  • Indien er niet aan de voorwaarde voldaan is, dan slaat de computer de for-functie over.

for(initialisatie;voorwaarde;increment) {
  proces;
}


  • initialisatie: hier stel je de initiĆ«le waarde van de teller (of variabele) in
  • voorwaarde: hier ga je meestal na of de teller (of andere variabele) groter, kleiner of gelijk is aan een bepaalde waarde. Als teller wordt vaak de letter "i" gebruikt. Indien de voorwaarde voldaan is wordt het increment en het proces uitgevoerd.
  • increment: wordt telkens uitgevoerd zolang er aan de voorwaarde voldaan is, vaak is dat de teller met 1 verhogen.
  • proces: wat er moet gebeuren als de voorwaarde voldaan is.


Even een voorbeeld met een teller i:

for(int i = 0; i < 4; i++) {// zolang i < 4, bij elke lus verhoog je i met 1 en voer onderstaande uit
digitalWrite(LED_BUILTIN, HIGH);// schakel de interne led aan
delay(1000);  // wacht 1 seconde
digitalWrite(LED_BUILTIN, LOW);// schakel de interne led uit
delay(1000);  // wacht 1 seconde
}


Even een voorbeeld met variable x:

for(float x = 2; x < 10; x = x * 1.5) {// zolang x < 10, vermenigvuldig x telkens met 1.5. We gebruiken het datatype float omdat we kommagetallen verwachten.
Serial.println(x); // print telkens de nieuwe x waarde. Opgelet: Serial.begin() moet in de setup geplaatst worden.
delay(500);  // wacht 500 ms
}


  Opdracht 1
 
 



Net zoals variabelen en functies, kan een herhalingsstructuur ervoor zorgen dat de code properder is.

  Opdracht 2

Deze code laat een led afwisselend 5 keer elke seconde pinken en daarna 5 keer elke 2 seconden.
Maak het loop gedeelte van de code eenvoudiger door twee for-lussen te gebruiken:

Deel 1: declaratie en initialisatie

Werk verder met de interne led op pin 13. Declareer en initieer de variabele.



Een for-lus kan ook gebruikt worden om een reeks pinnen als input of output in te stellen. In het setup deel komt dan dit te staan:

// Deel 2: setup (wordt eenmalig doorlopen bij opstarten)
void setup() {
for(int PinNum = 2; PinNum < 8; PinNum++) {// pinnen met nummer 2 tot en met 8
pinMode(PinNum, OUTPUT);// instellen als output pinnen
}
}



De for-lus is een begrensde herhaling.

Bij de initialisatie initialiseer je een teller, meestal de letter i, meestal op waarde 0.
Bij de voorwaarde geef je aan welke voorwaarde moet voldaan zijn om de instructie binnen de for-lus uit te voeren. Hiermee bepaal je het aantal herhalingen.
Bij het increment stijgt de teller, elke keer dat de for-lus uitgevoerd wordt, met 1.
Als er niet meer aan de voorwaarde wordt voldaan, zal er verder gegaan worden met de instructies na de for-lus.