Het Finite State Machine (FSM) Paradigma
In deze les gaan we ontdekken dat we door toepassing van het FSM-paradigma op een microcontroller veel dingen tegelijk kunnen doen en toch overzichtelijke code kunnen houden.
Voorbereiding
Tijdens de les
Tijdens de les breng je de kennis die je hebt opgedaan tijdens je voorbereiding in praktijk:
Wat hebben we nodig:
- breadboard & jumper wires
- 3 verschillende kleuren ledjes
- 3 voorschakelweerstanden voor de ledjes (kun je zelf de waarde berekenen?)
- 2 knopjes
- 2 pull up weerstanden voor de knopjes
We gaan een stoplicht nabouwen.
Het stoplicht zal normaal op groen staan. Het heeft drie kleuren: groen – oranje/geel – rood.
- Knopje A is verbonden met de knop van het voetgangerspad op de straat die er loodrecht op staat/loopt.
- Knopje B is verbonden met de knop van het voetgangerspad van de straat waar het stoplicht staat.
- Het stoplicht staat normaal op groen. Als op knopje A wordt gedrukt moet het stoplicht van groen -> oranje/geel (3 seconden) -> rood gaan. Dan moet hij op rood blijven staan.
- Als knopje B wordt ingedrukt moet hij (het is een duits stoplicht) van rood -> knipperend rood/geel gaan. Dus 5 x oranje/geel (0.5 s) -> rood (0.5 s) -> en weer terug naar oranje.
- Uiteindelijk na die 5 keer knipperen moet hij naar groen gaan.
1) Maak eerst een State diagram (hier zijn UML standaarden voor, we gaan nu even iets simpels edoch duidelijk schetsen.
2) Maak de opstelling.
3) Maak de Class(es).
4) Check met je diagram.
5) Testen!
Canvas
- Lever het resultaat in op de Canvas entry voor deze opdracht.
Portfolio Tip
Pas het FSM paradigma ook zoveel mogelijk toe. Zowel in je eigen applicatie als in die van het totale project. Laat een voorbeeld van een van je toepassingen daarvan van feedback voorzien.