Stappenplan

Als je het toestandsdiagram eenmaal klaar hebt, dan is het maken van een programma dat kan worden uitgevoerd op bijvoorbeeld de Microbit, Arduino of Lego Mindstorms eenvoudig. We laten dat zien aan de hand van het volgende toestandsdiagram voor een systeem bestaande uit een lamp en een drukknop. Als de drukknop wordt ingedrukt (en weer losgelaten) gaat de lamp aan. Wordt de drukknop nogmaals ingedrukt (en weer losgelaten) gaat de lamp uit.

 

 

Om een toestandsdiagram om te zetten in een programma gebruik je ALS-DAN-constructies. De toestand sla je op in een variabele. Hieronder zie je een uitwerking in pseudo-code. Het bestaat uit twee delen:

 

EENMALIG BIJ OPSTARTEN

Dit deel wordt één keer uitgevoerd. Hierin kun je bijvoorbeeld de starttoestand aangeven.

 

HERHAAL:

Alles wat hier staat wordt steeds weer opnieuw uitgevoerd, zolang het systeem aan is.

 

Alle toestanden krijgen een nummer:

1 - Lamp is uit

2 - Lamp is aan

 

EENMALIG BIJ OPSTARTEN:

    toestand wordt 1

 

HERHAAL:

    ALS (toestand is 1) DAN

        ALS (de drukknop wordt ingedrukt) DAN

             toestand wordt 2

             zet lamp aan

    ALS (toestand is 2) DAN

        ALS (de drukknop wordt ingedrukt) DAN

             toestand wordt 1

             zet lamp uit

 

Zie je de relatie tussen het toestandsdiagram en de pseudo-code?

Er is ook een andere manier, waarbij je start vanuit de gebeurtenissen.

EENMALIG BIJ OPSTARTEN:

    toestand wordt 1

    zet lamp aan

 

HERHAAL:

    ALS (de drukknop wordt ingedrukt) DAN

        ALS (toestand is 1) DAN

            toestand wordt 2

            zet lamp aan

         ANDERS ALS (toestand is gelijk aan 2) DAN

             toestand wordt 1   

             zet lamp uit

 

Beide manieren zijn toegestaan. Het hangt van de situatie en het specifieke platform dat je gebruikt (Micro:bit, Arduino, Lego Mindstormd) af wat het makkelijkste is. Soms gebruik je een mix van beide aanpakken.