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

Lijsten

Een lijst (ook wel array genoemd) is een soort variabele die meerdere waarden tegelijk kan bewaren.
Je kunt het vergelijken met een ijsblokjesvorm: in plaats van één vakje (zoals bij een gewone variabele), heb je meerdere vakjes naast elkaar waarin je getallen kunt zetten.


int pinLijst[] = {10,8,6,3};


  • pinLijst is de gekozen naam voor de lijst
  • Tussen de { } geef je de waardes van de lijst mee. In dit geval pin 2 tem pin 5.
  • Elke waarde in de lijst krijgt een indexnummer, we starten bij 0. index 0 bevat de waarde 10, index 1 = 8, index 3 = 6, index 4 = 3.
  • Eén enkele waarde uit de lijst kan je met het indexnummer oproepen: x = pinLijst[1], waarbij x de waarde 8 zal bevatten.

We zagen reeds dat je een for-lus kan gebruiken 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
}
}

Wanneer je pinnummers opgeslaan staan in een lijst wordt de code dit:

// Deel 1: declaratie en initialisatie (wordt eenmalig doorlopen bij opstarten)
int pinLijst [] = {2,3,5,7};
// Deel 2: setup (wordt eenmalig doorlopen bij opstarten)
void setup() {
for(int i = 0; i < 4; i++) {// alle waardes vanuit pinLijst met index 0,1,2,3
pinMode(pinLijst [i], OUTPUT);// instellen als output pinnen
}
}
  Opdracht 1

Bouw je een schakeling met 4 leds volgens het circuit hieronder.
Je mag zelf kiezen op welke pinnen de leds zijn aangesloten. Zorg telkens voor een weerstand in serie.

Laat nu elke led afzonderlijk branden. Maak gebruik van een lijst en een for-lus.

Optimaliseer deze code:

Maak een lijst ledPins[] aan

  • Maak een variable aan voor de wachttijd
  • Maak een lijst aan die alle pinnummers bevat die je gebruikt.

herinner je: int pinLijst[] = {2,3,5,7};

Mogelijk oplossing

 

Uitbreiding:

Deze oefening is gebaseerd op een voorbeeld van Arduino. Wil je de volledige oefening proberen, breidt dan uit naar 6 leds en implementeer een tweede for-lus in het loop gedeelte waarbij alle leds één voor één weer uit gaan.
Voor de oplossing ga naar File > Examples > 05.Control > Arrays.