Taster Ampelanlage mit Mikrocontroller BASCOM?

1 Antwort

Mach dir erst mal eine Skizze, was in welcher Reihenfolge passieren soll. Am einfachsten geht das wenn du einzelne Kreise zeichnest in denen Die einzelnen Stati der Ampelanlage stehen und dazwischen Pfeile, an du du schreibst unter welcher Bedingung die Anlagen von dem einen in den anderen Status übergeht. In jeden Kreis schreibst du rein, welche Lampen leuchten sollen

https://www.lucidchart.com/pages/uml-state-machine-diagram

https://www.sciencedirect.com/topics/computer-science/state-machine-diagram

https://www.researchgate.net/figure/State-diagram-of-the-Moore-timed-FSM-for-traffic-light-control-system_fig4_344763930

Dann nummerierst du die Stati durch und deklarierst eine Statusvariable als integer.

Die Programmierung ist dann ganz einfach:

Wenn Status = 1 dann alle Lampen wie im Kreis geschrieben ein- oder ausschalten.

usw. für alle anderen Stati

Dann kommt der Übergang

Wenn Status = 1 UND die Bedingung am Pfeil ist erfüllt, dann Status = 2

usw.

Das Ganze in einer Endlosschleife und fertig.

Da du in den einzelnen Stati jeweils ALLE Lampe als an oder aus bezeichnest, kann es auch bei Programmfehlern oder Glitches niemals dazu kommen, dass ungewollte Kombinationen (ein 'Grün' zu viel) auftreten können.