Arduino Hello World
logo

Arduino Hello World

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

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

Uitleg code


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
}
HIGH Er wordt spanning (5V) op een digitale pin gezet. In het geval van een LED betekent dit dat de LED brandt.
LOW De spanning op de pin is nul volt (0V). In het geval van een LED betekent dit dat de LED niet brandt.

HIGH en LOW worden gebruikt met functies zoals digitalWrite(pin, HIGH) om een uitgang aan te zetten, of digitalRead(pin) (later) om de toestand van een ingang te controleren.
⏱️ Timing
Timing gaat over hoe lang een bepaalde actie duurt.
In het Blink-programma wordt delay(milliseconds) gebruikt om de tijd te regelen:
delay(1000) = wacht 1000 milliseconden = 1 seconde.
Het bepaalt hoe lang de LED aan of uit blijft voor de volgende stap gebeurt.
Belangrijk om te begrijpen: de Arduino wacht echt zolang, en doet tijdens de delay niets anders.

Via het programma kon je observeren dat het L-LEDje – of de interne LED – begon te pinken.

Dat komt omdat dat nu juist is wat de code voorschrijft. 

We bekijken de ingesprongen stukjes code. De “void” stukjes komen later aan bod.

 

Om het lampje te doen pinken, moeten we het commando om te pinken geven.

Met dit commando zullen we het lampje afwisselend wel en niet van spanning voorzien.

   Opdracht 1





Met digitalWrite maak je de spanning hoog of laag (zelfs helemaal af) en zet je dus het lampje aan of uit.
Het commando digitalWrite dient om spanning over een PIN, en in dit geval ook over het lampje, te zetten.


   Opdracht 2


   Uitwerking 1

Doen deze stukjes code van Arduino en Tinkercad echt hetzelfde interne LEDje pinken, terwijl er toch iets anders staat?

Probeer het eens uit.

Werk je in Arduino, verander dan LED_BUILTIN in 13.

Werk je in Tinkercad, verander dan 13 in LED_BUILTIN.

Voer het programma opnieuw uit door op upload/start simulatie te duwen en kijk of je lampje nog steeds pinkt.

Discussieer hierover met je klasgenoten. Zoek een reden voor je observatie.

Ga eventueel online op zoek naar een antwoord.


   Opdracht 3

Geef bij elke uitspraak aan of deze juist of fout is.