Blink
Bestudeer de code van het Blink programma in de Arduino IDE software of in Tinkercad.
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Info
Bij de standaard programma's uit Arduino IDE staat vaak extra informatie.
Die extra informatie is de tekst met de twee schuine strepen (//) voor. (Grijs bij Arduino IDE, orange-bruin bij Tinkercad)
Opdracht 1
Experimenteer met de code en bespreek, indien mogelijk, met je klasgenoten.
- Tel om na te gaan hoelang de LED aan en uit is. In welke eenheid staat delay?
- Verander de code zodat de LED 2s uit is en 1s aan.
- Werkt het als de LED als INPUT in plaats van OUTPUT gedefinieerd staat?
- Verander LED_BUILTIN overal door 13, wat gebeurt er?
- Wat gebeurt er als je de 4 lijnen code van in de loop verplaatst naar de setup?
- Zorg dat de led 1s aan, 1s uit, 2s aan, 2s uit is en dat herhaalt.
Opdracht 2
Wat zal er, volgens jou, uiteindelijk gebeuren wanneer je de wachttijd kleiner en kleiner maakt? Reflecteer en discussieer, indien mogelijk, met je klasgenoten.
We bekijken eerst het extreme geval. Geen wachttijd. Verander de twee stukjes code waarbij je wacht door:
delay(0)
Upload je programma en observeer wat er gebeurt.
We gaan nu de grens opzoeken.
Bij hoeveel wachttijd ga je over van een pinkend LEDje naar een constant maar minder fel brandend brandend LEDje?
Kies zelf een methode om dit te achterhalen. Wat leert ons dit over het menselijk oog?
Info
Het menselijk oog kan tot 60 beelden per seconde verwerken. Gaat het
sneller, dan is dat een vloeiend beeld voor ons. Als je 60 beelden per
seconde laat zien, laat je elke 1/60 = 0,0167 seconden, oftewel elke 17
milliseconden, een beeld zien.
Als je het LEDje dus sneller laat pinken, kan je oog het pinken niet
meer verwerken. Maar het LEDje pinkt wel degelijk nog steeds.
Dat is ook wat bouwers van commerciële camera’s hanteren. Zoek maar
eens op wat voor de GoPro het aantal “frames per second” (beelden per
seconden) is. Dat varieert tussen 30 beelden en 120 beelden per
seconde.
Let op: de Tinkercad-simulatie is een vereenvoudigde weergave van de werkelijkheid.
Wanneer we de wachttijd (delay) tussen het aan- en uitgaan van een LED steeds kleiner maken, gaat het in de Tinkercad simulatie al veel sneller niet meer pinken ook neemt de helderheid niet af.
Dit komt doordat Tinkercad de snelle wisselingen niet visueel kan weergeven zoals in het echte leven. Daardoor krijgen we een vertekend beeld van wat het menselijk oog nog kan waarnemen.