Een jaar geleden toonde we een demonstratie van een verkeerslicht op een kruispunt. Hoe je deze twee verkeerslichten moet aansturen is een mooie opdracht voor leerlingen van het secundaire onderwijs. Hoe je 1 van deze verkeerslichten aanstuurt leggen we uit in onderstaande code.
Je moet begrijpen dat je voor SETUP de naam zet van je component en op welke pin deze aangesloten is.
IN SETUP bepaal je van alle componenten of deze als OUTPUT of INPUT moet gebruikt worden.
Je moet weten dat je met digitalWrite een digitale OUTPUT kan activeren met HIGH en kan desactiveren met LOW.
Als laatste moet je weten dat je met delay() een bepaalde tijd kan wachten (niets doen) in ms uitgedrukt.
Als je het programma bekijkt dan zie je dat één na één de leds aan en uitgeschakeld worden, als er geen delay tussen staat gebeurt die actie bijna gelijktijdig, als er wel een delay tussen staat blijft die toestand die tijd behouden tot er een lijn code staat die de toestand aanpast.
int LEDG1 = 2; // de groene LED
int LEDO1 = 18; // de oranje LED
int LEDR1 = 17; // de rode LED
void setup() { // eenmalig uitvoeren
pinMode(LEDG1,OUTPUT); // LED is uitgang
pinMode(LEDO1,OUTPUT); // LED is uitgang
pinMode(LEDR1,OUTPUT); // LED is uitgang
}
void loop() {
digitalWrite(LEDG1, HIGH);// De groene LED aan
delay(5000); // wacht 5s (werkelijkheid minuten)
digitalWrite(LEDO1, HIGH);// periode van oranje
digitalWrite(LEDG1, LOW); // dan moet groen uit
delay(1000); // oranje moet kort aan
digitalWrite(LEDR1, HIGH); // periode van rood
digitalWrite(LEDO1, LOW);// dan moet oranje uit
delay(5000); // wacht (5s (werkelijkheid minuten)
digitalWrite(LEDR1,LOW); // periode rood voorbij
} // start een nieuwe sequentie
De video tutorial van deze les kan je hier bekijken, hou er rekening mee dat er in deze tutorial een andere timing (delay) gebruikt werd. De tijd tussen de toestanden kan je als programmeur zelf bepalen naar wens.
Volgende les : een LED dimmen met analogWrite()
Dit programma kan een LED enkel aan en uitschakelen, dankzij de volgende tutorial kan je de LED ook dimmen.
Vorige les : digitalWrite()
De vorige tutorial legde de werking uit van digitalWrite(), iets wat ook in deze les vaak gebruikt werd.