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

Functies


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

Blink

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

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

// Fase 3: loop fase (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 otdek 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

Programmeer en bouw een schakeling die de twee rode lichten aan een spoorwegovergang voorstelt.
Hierbij knippert LED 1 (pin D5) afwisselend met LED 2 (pin D4).

Mogelijke oplossing


  Opdracht 2

Verbind een LED met pin D6 via een weerstand. Programmeer de Arduino zo dat de LED altijd blijft branden.

Mogelijke oplossing


  Opdracht 3

Programmeer en bouw een schakeling waarbij je LED1 elke seconde laat knipperen en LED2 elke 2 seconden.

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