Übungen zu Automaten

Aufzug

Mit dem Arduino soll ein einfacher Aufzug simuliert werden. Dieser verfügt über vier Taster: Zum Hochfahren, zum Herunterfahren, einen Panikknopf zum Anhalten/Pausieren und einen Taster, um die Fahrt nach einer Pause fortzusetzen. Zusätzlich gibt es oben und unten jeweils einen Endschalter, über den registriert wird, ob der Aufzug oben bzw. unten angekommen ist (siehe Skizze unten).

Skizze des Aufzugs und der Taster
Skizze des Aufzugs und der Taster.

In der folgenden Abbildung ist eine mögliche Implementierung des Aufzug-Verhaltens mit Hilfe eines Automaten-Modells dargestellt.

Zustandsbasierte Modellierung eines Aufzugs.
Zustandsbasierte Modellierung eines Aufzugs.
  1. Erkläre, warum manche Variablen groß geschrieben werden.
  2. Entwickle ein Zustandsdiagramm zu dem Programm.
  3. Kann der Aufzug während der Fahrt seine Richtung wechseln? Begründe deine Antwort.
  4. Erkläre, was passiert, wenn der Panikknopf während der Fahrt gedrückt wird. Erkläre, welchen Vorteil diese Art der Programmierung gegenüber einem neuen Zustand "PAUSE" hat.

Idee: nach inf-schule.de

Juke-Box mit vier Liedern

Am Arduino werden vier Taster und ein Summer angeschlossen, um eine kleine Juke-Box zu bauen. Die Juke-Box soll vier Lieder abspielen können, für die bereits vier Funktionen angelegt wurden: spiele Lied1, spiele Lied2, spiele Lied3, spiele Lied4.

Die Taster haben folgende Funktionen:

  • NT: Nächstes-Taste springt ein Lied vor und spielt es ab,
  • ZT: Zurück-Taste springt ein Lied zurück und spielt es ab,
  • ST: Stop-Taste stoppt das Abspielen eines Liedes und setzt die Juke-Box zurück in den Start-Zustand.
  1. Entwickle ein Zustandsdiagramm für die Juke-Box. Erkläre, wie dein Automat mit dem Drücken der Taste NT umgeht, wenn Lied 4 abgespielt wird.
  2. Entwickle ein Programm zur Implementierung des Juke-Box-Automaten. Stelle es als Struktogramm dar.
  3. Für Profis: Es soll ein Taster PT (Play-Taste) ergänzt werden, die vom Start-Zustand zum zuletzt abgespielten Lied springt und dieses abspielt. Ergänze dieses Verhalten im Zustandsdiagramm und erkläre, wie es sich im Programm ergänzen lässt.

Ein Verkaufsautomat

Auf Youtube gibt es zahlreiche Tutorials zum Bau eines Verkaufsautomaten (engl. vending machine) mit dem Arduino. Das folgende Video zeigt einen Automaten mit eingebauter Münzenerkennung.

An dieser Stelle ist ein Video von Youtube eingebettet. Mit deiner Erlaubnis willigst du ein, dass deine Daten an YouTube in den USA übermittelt werden. Weitere Informationen zur Datenverarbeitung von YouTube findest du in der Datenschutzerklärung von YouTube.

Im Folgenden sind bereits die Zustände ergänzt, die sich größtenteils direkt dem Video entnehmen lassen. Auf die Zustände für die Ausgabe der drei nicht lesbaren Süßigkeiten kann verzichtet werden.

Ergänze alle Zustandsübergänge und ihre jeweilige Bedingung.

Vorlage für die Zustände eines Verkaufsautomaten.
Vorlage für das Zustandsdiagramm eines Verkaufsautomaten.

Hinweis: Die Vorlage für das Zustandsdiagramm mit den oben abgebildeten Zuständen ist mit Excalidraw erstellt.

Motivationsquellen

Cocktail Mixer: Dieser Automat mixt automatisch einen aus sechs wählbaren Drinks!
Roboterhand: Mit diesem Aufbau wird die eigene Hand auf eine Roboterhand gespiegelt, wodurch sich der Roboter viel besser steuern lässt.
One | Aerospace: Diese Gruppe von Studenten versucht u. a. mit Hilfe eines Arduino eine Rakete zu bauen!
Ziegen-Tracker: Mit dieser Kombination aus Arduino und GPS-Antenne wird es Ziegen unmöglich von ihrer Farm auszubrechen.