Arduino Hello World
logo

Arduino Hello World

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

   Blink


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

Blink

// 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
}

Tinkercad Kolom Tinkercad verwijderen

void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
}
   Opdracht 1

Experimenteer met de code en bespreek, indien mogelijk, met je klasgenoten.

Verander de code zodat de LED 2s uit is en 1s aan.
Werkt het als de LED als input gedefinieerd staat?.
Verander Led_builtin overal door 13, wat gebeurt er?
Zorg dat de led 1s aan, 1s uit, 2s aan, 2 s uit is en dat herhaalt
Wat gebeurt er als je de 4 lijnen code van in de loop verplaatst naar de setup.




 

   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)

Om de code overzichtelijk te houden, wordt het programma in de rest van de cursus weergegeven zonder deze tekst.





Als je Tinkercad gebruikt, sla dit hoofdstuk dan over.

   Opdracht 1

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


   Uitwerking 1

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.

   Opdracht 2

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


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.



Arduino werkt zeer snel en gaat meteen over naar de volgende instructie.
Als je in je code een pinkend LEDje maakt, wil je dat natuurlijk ook kunnen zien pinken.
Niet alleen hier, maar ook in vele andere situaties, is een dergelijke wacht-instructie dus zeer nuttig.


Als je Arduino IDE gebruikt, sla dit hoofdstuk dan over.

   Opdracht 1

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


   Uitwerking 1

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.

   Opdracht 2

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


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.



De Tinkercad-simulatie is maar een nabootsing van de werkelijkheid en kan niet alles tonen.
Bij het Arduino-bordje is het anders. Je ziet het LEDje niet meer pinken bij wachttijden kleiner dan 15 milliseconden.
Bij kleinere wachttijden gaat het LEDje ogenschijnlijk minder fel branden.



Arduino werkt zeer snel en gaat meteen over naar de volgende instructie.
Als je in je code een pinkend LEDje maakt, wil je dat natuurlijk ook kunnen zien pinken.
Niet alleen hier, maar ook in vele andere situaties, is een dergelijke wacht-instructie dus zeer nuttig.