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

Functies


Hernemen we nog even de Blink code, bekijk welke ingebouwde functies er allemaal in deze code gebruikt worden.

Blink

// Deel 1: declaratie en initialisatie (wordt eenmalig doorlopen bij opstarten)
int wachttijd = 1000;

// Deel 2: setup (wordt eenmalig doorlopen bij opstarten)
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}

// Deel 3: loop (wordt blijvend herhaald)
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(wachttijd);
digitalWrite(LED_BUILTIN, LOW);
delay(wachttijd);
}

Ga met je muis over de code en ontdek de functies.




 

setup() en loop() zijn speciale functies in Arduino. Ze zijn eigen aan de structuur van een Arduino programma. Je codeert ze zelf en geeft ze daarom een data type mee namelijk void. Dit geeft aan dat de functie enkel instructies uitvoert.

De functies pinMode(), digitalWrite() en delay() zijn ingebouwde functies bij Arduino en hoeven geen void ervoor.

 


  Opdracht 1

Bouw en programmeer een schakeling die de twee rode lichten aan een spoorwegovergang voorstelt.
Hierbij knippert led 1 (pin 5) afwisselend met led 2 (pin 4).

Deel 1: declaratie en initialisatie

1. Maak voor elke led een variabele aan..

  • Kondig het gebruik van de 2 leds aan, declareer ze in dit deel van je sketch.
  • Duid aan op welke pin deze leds aangesloten zijn. Initialiseer de variabelen.

2. Maak een variabele aan om aan te geven hoe lang de leds zullen branden.

Mogelijk oplossing

  Opdracht 2

Verbind een led met pin 6 via een weerstand. Programmeer de Arduino zo dat de led altijd blijft branden.

Deel 1: declaratie en initialisatie

Declareer en initialiseer de led aangesloten op pin 6.

Mogelijk oplossing

  Opdracht 3

Bouw en programmeer een schakeling waarbij je led 1 elke seconde laat knipperen en led 2 elke 2 seconden.

Deel 1: declaratie en initialisatie

1. Je gebruikt 2 leds in je sketch. Declareer en initialiseer deze 2 leds als variabelen.

2. Maak een variabele aan om aan te geven hoe lang de leds zullen branden.

Mogelijk oplossing
 

Extra denkoefening 1:


 

Uitbreiding:

Vertrek van de voorbeeldcode die de functie millis() gebruikt en pas die aan om bovenstaande opdracht te vervullen. Ga naar File > Examples > 02.Digital > BlinkWithoutDelay.


 

pinMode (pin, mode)


  • Bij pin geef je het pin-numer in waarvan je de mode gaat instellen.
  • Bij mode definieer je de pin als INPUT of OUTPUT pin.

digitalWrite (pin, waarde)


  • Bij pin geef je het pin-numer in waarvan je de waarde gaat instellen.
  • Bij waarde definieer je de pin als HIGH of LOW.

delay (tijdsduur in ms)


  • Bij ms geef je het aantal milliseconden in waarmee je wilt dat het programma pauzeert.

 

De tekst in de blauwe vakken toont ons hoe functies in Arduino correct geformuleerd worden. Elke functie bestaat uit een naam en één of meerdere parameters die bepalen wat de functie doet. De manier waarop deze elementen worden gecombineerd noemen we de syntax.

Elke programmeertaal heeft zijn eigen syntax: een specifieke manier om instructies en functies te schrijven zodat de computer ze begrijpt. Op de volgende pagina ontdek je wat syntax nog allemaal inhoudt, en waarom het zo belangrijk is bij het schrijven van correcte en leesbare code.