Arduino Hello World
logo

Arduino Hello World

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

Module 3
De software en 1ste programma

Home Arduino IDE Tinkercad

Mijn eerste programma

Blink

Basisconcepten van programmeren met Arduino

Structuur Variabelen en datatypes Functies Syntax Pseudocode

Blink


Bestudeer de code van het Blink programma in de Arduino IDE software of in Tinkercad.

Blink

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

Ga naar je Arduino IDE of naar Tinkercad. Experimenteer met de code en bespreek, indien mogelijk, met je klasgenoten.

  • Tel het aantal seconden dat de LED aan en uit is.
  • In welke eenheid staat delay?
  • Verander de code zodat de LED 2 seconden uit is en 1 seconde aan.
  • De LED staat gedefineerd als OUTPUT. Wat gebeurt er als je dit vervangt door "INPUT"?
  • Verander "LED_BUILTIN" overal door "13". Wat gebeurt er?
  • Wat gebeurt er als je de 4 lijnen code van "loop" verplaatst naar "setup"?
  • Zorg dat de LED als volgt brandt:
    • 1 seconde aan, 1 seconde uit
    • 2 seconden aan, 2 seconden uit
    en dit herhaalt.

  Opdracht 2
 


 


  Opdracht 3

Wat zal er volgens jou uiteindelijk gebeuren wanneer je de wachttijd kleiner en kleiner maakt? Reflecteer en discussieer indien mogelijk met je klasgenoten.

1. Geen wachttijd

  • Verander de 2 stukjes code waarbij je wacht door "delay(0)"
  • Upload je programma en observeer wat er gebeurt.
 
 

2. 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.

Dus:

  • => 60 beelden per seconde
  • => 1 beeld per 1/60 seconden
  • => 1/60 = 0,0167 seconden
  • Je toont elke 17 milliseconden een beeld

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.