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.
Opdracht: upload het programma
Bestudeer de code en vergelijk deze met het toestandsdiagram.
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.