s n h m r u
i

Der Personenzähler als Automat

Modellierung der Funktionalität des Personenzählers

Beide Sensoren können nun feststelluen, ob eine Person in ihrem Erfassungsbereich ist. Dafür muss ein Schwellenwert (z.B. 80cm) festgelegt werden. Misst ein Sensor einen kleineren Abstandswert als den Schwellenwert, dann geht das System davon aus, dass gerade eine Person erfasst wird.

Für das System ist also nur relevant, ob die beiden Sensoren L und R gerade den Schwellenwert unterschreiten (oder eben nicht). Personenzähler Damit muss das System insgesamt auf vier verschiedene Eingaben reagieren können:

  • L_nah: Der linke Sensor meldet eine Distanz unter dem Schwellenwert
  • L_weit: Der linke Sensor meldet eine Distanz über dem Schwellenwert
  • R_nah: Der rechte Sensor meldet eine Distanz unter dem Schwellenwert
  • R_weit: Der rechte Sensor meldet eine Distanz über dem Schwellenwert
Wenn nun eine Person von links nach rechts am System vorbeigeht, dann müssen die Sensoren zeitlich nacheinander die Ergeignisse L_nah → R_nah → L_weit → R_weit melden. Nur dann ist sichergestellt, dass eine Person das System von links nach rechts passiert hat.

Der Personenzähler als endlicher Automat

Wie im vorherigen Abschnitt festgestellt, müssen die möglichen Eingaben in einer fest vorgegeben Reihenfolge erfolgen. Sie führen dann jeweils zu einer Zustandsänderung des Systems. Es wartet dann auf die jeweils nächste erwünschte Eingabe. Dieses Verhalten lässt sich in der Informatik sehr gut mit endlichen Automaten modellieren. Im folgenden sollst du das Automatenmodell des Personenzählers immer genauer definieren.

Diese Modellierung ist später die Grundlage für die Programmierung des Calliope mini mit MakeCode. Dort wird letztendlich das Modell nur noch 1:1 in ein Programm übersetzt.

Aufgabe 1: Den Personenzähler mit einem endlichen Automaten simulieren

Das Verhalten des Personenzählers kann mit einem Mealy-Automat simuliert werden. Klicke auf den grünen Pfeil und beobachte, wie der Automat bei den Eingaben seinen Zustand ändert. Wann erfolgt das Hochzählen der Personen als Ausgabe?

Aufgabe 2: Den endlichen Automaten ergänzen (Person von rechts nach links)

Ergänze den Automaten, damit bei Personen, die das System von rechts nach links passieren, die Personenzahl um eins heruntergezählt wird. Die Ein- und Ausgabemöglichkeiten sind schon vorhanden. Modelliere neue Zustände und Übergänge für das gewünschte Verhalten!

Aufgabe 3: Den endlichen Automaten ergänzen (alle denkbaren Übergänge)

Sicherlich hast du bei der Simulation festgestellt, dass einige Zustandsübergänge noch nicht definiert sind. Was soll z.B. passieren, wenn im Zustand "links nah" das Ereignis "R_weit" eintritt?

Ergänze das Automatenmodell um alle fehlenden Übergänge! Einige neue Übergänge sind als Beispiel bereits modelliert.

Jetzt hast du das Verhalten des Personenzählers vollständig zustandsbasiert modelliert. Damit hast du dir eine gute Grundlage für die Programmierung geschaffen.

Suche

v
14.1.7.11.1.2 Der Personenzähler als Automat
Kopieren durch Anklicken

Rückmeldung geben