Vom Automat zum Programm
Wie mache ich aus dem Automatenmodell ein MakeCode-Programm?
Ausgangspunkt ist jetzt das fertige und funktionierende Automatenmodell des Personenzählers. Alle funktionalen Entscheidungen sind im Modell berücksichtigt. Was passiert z.B., wenn eine Person in der Tür wieder umdreht?
Hier kannst du nochmals das komplette System simulieren und dich davon überzeugen, dass alle "Sonderfälle" abgedeckt sind.
Zustände nummerieren und Übergänge ignorieren
Für die Umsetzung im Programm müssen alle Zustände zunächst eine Nummer bekommen. Der Startzustand bekommt dabei die Nummer 0. Die aktuelle Zustandsnummer des Systems kann dann später in MakeCode in einer Variablen "Zustand" gespeichert werden.

Umsetzung in MakeCode
Das Automatenmodell muss nun 1:1 in MakeCode umgesetzt werden. Der hier abgebildete Ausschnitt des Automatenmodells soll dies verdeutlichen. Er ist wie folgt zu lesen: "Wenn der Automat im Zustand Z0 ist und der linke Sensor einen Wert kleiner als z.B.80 meldet (L_nah tritt ein), dann geht der Automat in den Zustand Z1 über."
Daraus ergibt sich direkt der abgebildete MakeCode-Block für den Zustandsübergang. Das Programm muss dabei ständig (in einer Dauerhaft-Schleife) prüfen, ob die Bedingungen gerade eintreten.
Beachte dabei, dass der linke Sensor mit der Datenleitung P2 verbunden ist. Beim rechten Sensor wäre entsprechend C16 (rechter Grove-Anschluß) zu wählen.
Da der Übergang keine Ausgabe hat ("-"), muss an der Variablen, die die Personen zählt, hier nichts verändert werden.
Aufgabe: Programmblock im Modell zuordnen
Ordne den abgebildeten MakeCode-Block dem passenden Übergang im Automatenmodell zu. Begründe dabei auch die Änderung an der Variablen "personen".