Nach zwei Jahren Covid-bedingter Halloween-Pause präsentiert unser Autor dieses Jahr einen kontaktlosen Süßigkeitenautomaten.
Nachdem unser alljährliches Halloween-Projekt pandemiebedingt bereits zwei Mal ausfiel, geht es jetzt weiter. Um auf Nummer sicher zu gehen, bauen wir in diesem Projekt einen kontaktfreien Automaten für die Ausgabe von Süßigkeiten. Hier knüpfen wir an die Erfahrungen aus dem Halloween-Projekt von 2019 an [1]. Damals bauten wir einen Automaten auf, der rückblickend betrachtet einiges Verbesserungspotenzial aufweist. Das zeigte sich an der zu geringen Speicherkapazität für Süßigkeiten, die recht anfälligen Mechanik und der geringen Geschwindigkeit bei der Ausgabe der Süßigkeiten.
Basierend auf diesen Erfahrungen gestaltet sich der neue Automat komplett anders. Das beginnt bereits mit der Auswahl der Süßigkeiten. Die Entscheidung fiel dieses Jahr auf die schönen eckigen Kaubonbons eines bekannten Herstellers. Sie eignen sich wegen ihrer stets gleichen Größe optimal, weil sie dadurch nicht so leicht im Automat hängen bleiben. Als Süßigkeitenlager dienen zwei Fallmagazine (Abbildung 1), aus denen Pneumatikzylinder die Bonbons herausdrücken. Ein weiterer Zylinder schiebt sie dann vorn aus dem Automaten. Der Einsatz pneumatischer Komponenten erlaubt es, die Bonbons recht schnell aus dem Automaten zu befördern.

Abbildung 1: Das Fallmagazin mit der Süßigkeitenausgabe. Im Hintergrund ist der Chefentwickler zu sehen.
Auf Youtube finden Sie ein Video, das den Automaten beim schnellen Entladen zeigt [2]. Damit es aber nicht zu leicht gelingt, den Automaten zu plündern, muss der Empfänger zunächst eine kleine Aufgabe erfüllen, bevor es Süßes gibt. In Anlehnung an den Spieleklassiker “Simon” von Hasbro [3] spielt der Automat eine zufällige Farbfolge mit dazugehörigen Tönen ab. Um die Belohnung zu bekommen, muss der Halloween-Besucher die Sequenz nachspielen. Um es gerade für die jüngeren Gäste nicht zu schwer zu machen, verwenden wir kurze Kombinationen aus je vier Farben und Tönen.
Kommen wir zu den pandemierelevanten Überlegungen. Die Interaktion mit dem Automaten soll komplett kontaktlos erfolgen. Sobald ein Besucher in die Nähe kommt, aktiviert sich die Gerätschaft über einen Bewegungssensor. Alle zum Bedienen des Automaten relevanten Anweisungen erfolgen per Sprachausgabe. Das Nachspielen der Farbkombination realisieren Reflexlichtschranken, sodass eine Annäherung von maximal 20 Zentimetern an den Automaten genügt, um einen Schaltvorgang auszulösen. Die Süßigkeit fällt aus einer kleinen Öffnung, die wir so gestalten, dass der Besucher den Automaten selbst nicht berühren muss und sich auch nicht daran verletzen kann. Zu guter Letzt bekommt der Automat eine leicht zu desinfizierende Plexiglasfront.
Das Gehirn
Jedes Projekt benötigt eine Steuerung, die alle Komponenten zum Leben erweckt. In diesem Projekt übernimmt ein RevPi Core [4] diese Aufgabe. Er dient normalerweise als kompakte Industriesteuerung, die sich durch unterschiedliche Module erweitern lässt. Damit gewinnen wir ein hohes Maß an Flexibilität für das Projekt. Unter der Haube des RevPi Core sorgt ein Raspberry Pi Compute Module für die nötige Rechenpower.
Um die Hardware optimal zu nutzen, verwenden wir eine vom Hersteller angepasste Raspbian-Version, die Sie auf der Projektseite finden [5]. Zum Programmieren des RevPi Core eignen sich neben den in der Industrie weitverbreiteten Systemen wie Codesys oder Node-RED auch Bibliotheken für Python oder C.
Die Betriebssysteminstallation auf dem RevPi unterscheidet sich von der eines normalen RasPi. Eine komplette Beschreibung, welche Schritte Sie ausführen müssen, finden Sie im Artikel “Profiliga” aus RPG 06/2021 [6]. Er enthält auch ein einfaches Beispiel, wie Sie Programme für das RevPi erstellen. Falls Sie zusätzliche Beispiele zum Programmieren des RevPi benötigen, eignen sich die Tutorials [7] des Herstellers gut als Einstieg.
Das Spiel
Zum Bau der farbigen Flächen für das vereinfachte “Simon”-Spiel verwenden wir einen LED-Streifen, den wir passend zurechtschneiden und in eine 3D-gedruckte Halterung einbauen (Abbildung 2). Um das Licht der einzelnen LEDs ein wenig zu zerstreuen, montieren wir ein Bauteil aus transparentem 3D-Druck-Filament davor. Falls Sie das Projekt nachbauen möchten, finden Sie auf der Download-Seite zu diesem Artikel die 3D-Modelle dazu.
Der Halter für die LEDs besitzt eine Aussparung für Näherungssensoren [8], damit sich diese in Relation zur Fläche immer an derselben Stelle befinden. Die zu den Farben passenden Töne erzeugt eine USB-Soundkarte [9]. Ein Demovideo, das die LEDs in Aktion zeigt, finden Sie bei Youtube [10]. Die LEDs lassen sich allerdings nicht direkt über das RevPi ansteuern – der nächste Abschnitt erklärt, warum.
High Side vs. Low Side
In fast jedem Projekt gibt es einen nicht ausreichend durchdachten Punkt, der sich erst bemerkbar macht, wenn es für eine Korrektur eigentlich schon zu spät ist. Da machte auch das Halloween-Projekt keine Ausnahme. Um zu klären, was schiefging, müssen wir etwas ausholen.
Grundsätzlich gibt es zwei Möglichkeiten, elektrische Schaltausgänge zu realisieren. Beim High-Side-Verfahren schaltet man gegen den Pluspol. Das bietet den Vorteil, dass die Komponenten im ausgeschalteten Zustand spannungsfrei bleiben. Dieses Verfahren verwenden so gut wie alle Industriesteuerungen, weil es ein hohes Maß an Sicherheit bietet. Umgekehrt schaltet man bei Low Side gegen den Minuspol. Die zu schaltende Komponente wird fest mit der Betriebsspannung verbunden und der Weg zur Masse hin geschaltet. Das hat den Vorteil, dass sich die Betriebsspannung der Komponenten recht flexibel anpassen lässt. Oft heißen diese Ausgänge auch Open Collector.
Kommen wir jetzt zurück zu unserem Halloween-Projekt. Wie jede ordentliche Industriesteuerung verwendet das RevPi High-Side-Ausgänge. Die LED-Stripes im Handel nutzen aber allesamt eine gemeinsame Anode (Pluspol). Verwendet man nur eine Farbe des Streifens, stellt das kein Problem dar: Sie lässt sich direkt an den RevPi anschließen. Wir möchten aber unterschiedliche Farben pro Stripe verwenden und benötigen deshalb einen Low-Side-Ausgang an der Steuerung.







