Stap 4: Programma maken voor de Arduino

Nu kun je op basis van het toestandsdiagram een programma maken voor de Arduino. Maak er een gewoonte van een Arduino programma altijd op dezelfde manier op te bouwen.

 

Toewijzingen

We beginnen met de pin toewijzingen. Dat betekent dat we een naam bedenken voor een pin. Daardoor wordt het programma dat je schrijft overzichtelijker. Zo'n toewijzing ziet er dan als volgt uit:

const int sensorPin = 2;

Den aanraaksensor is immers aangesloten op pin 2 (we noemen een pin ook wel poort). In de code hoeven we nu niet meer te onthouden dat we de sensor aan pin 2 hebben aangesloten.

 

Variabelen

Daarna gaan we de variabelen vastleggen. Variabelen zijn die "dingen" die in waarde kunnen veranderen maar waarvan we wel steeds willen weten wat hun waarde op een bepaald moment is. Bijvoorbeeld:

int aanraken = 0;

of:

int toestand = 1;

Je ziet dat we hier ook meteen waarden aan de variabelen toekennen.

 

Setup

Het setup gedeelte begint altijd met:

void setup() {

In de setup geven we o.a. aan waar de pinnen voor worden gebruikt. Bijvoorbeeld voor input of voor output:

pinMode(sensorPin, INPUT);

of:

pinMode(ledPin, OUTPUT);

 

Loop

Tenslotte de loop. De loop is een stuk code dat steeds herhaald wordt. Als er dan veranderingen optreden kan de loop daarop actie ondernemen. De loop begint altijd met:

void loop() {

Voor elke toestandsovergang gebruik je een if of if...else functie om de actie die bij die toestandsovergang hoort te programmeren.

Hieronder kun je het gehele bestand downloaden.

aanraaksensor1.ino

Opdracht: upload het programma

Bestudeer de code en vergelijk deze met het toestandsdiagram.

  1. Kopieer de code en plak deze in de Arduino software. Let op: verwijder wel eerst de code die al in het venster staat!
  2. Upload de code naar de Arduino door op uploaden te klikken.
  3. Als er geen foutmeldingen zijn zou de code nu moeten werken. Dus test de aanraakschakelaar.

 

Hopelijk zie je de relatie tussen het toestandsdiagram en de code. Deze schakeling is nog redelijk eenvoudig en je zou de code ook gemakkelijk kunnen schrijven zonder die toestanden te gebruiken maar pas op, het wordt al gauw ingewikkelder. En om dan nog alle mogelijke toestanden en toestandsovergangen in de gaten te kunnen houden en te kunnen programmeren is een goed toestandsdiagram erg belangrijk.