Bei unserer Veranstaltung Sommer, Sonne, Bots habe ich einen Vortrag über die verschiedenen Tools und Services gehalten, die Microsoft zur Erstellung von Bots anbietet. Da sich im Publikum nicht nur Techniker befanden, musste ein einfaches Beispiel her, das auch einen kleinen Show Effekt beinhaltete. So ist die Idee für den Rocket Commander Bot entstanden.
Der Rocket Commander ist ein Bot, der einem bei einer Reise mit einer Rakete unterstützt. Man kann ihn nach möglichen Reisezielen fragen und ihm den Befehl zur Initiierung des Raketenstarts geben. Mit dem Rocket Commander kann man über verschiedene Kanäle kommunizieren. Dazu zählen Skype, Facebook und alle weiteren Kanäle, die vom Microsoft Bot Framework unterstützt werden. Bei meiner Präsentation bin ich auch im Speziellen darauf eingeganben, wie man mit dem Rocket Commander über Cortana per Sprache kommunizieren kann. Und als großes Finale des Vortrags wurde eine Silvesterrakete per Sprachbefehl gestartet.
In drei Teilen werde ich erklären, aus welchen Komponenten der Rocket Commander besteht und wie man ihn selber nachbauen kann. Der erste Teil, also dieser Beitrag, beschäftigt sich mit der benötigten Hardware und wie man sie zusammenbaut. Der Zweite mit der App, mit der die Hardware gesteuert wird und der dritte Teil dann mit dem eigentlichen Bot.
Die benötigten Komponenten
Die Raketenzündung wird über einen Raspberry Pi gesteuert. Dazu schalten wir ein Relais, wodurch ein Talon Zünder entzündet wird, der wiederum die Zündschnur der Rakete entzündet. Hört sich eigentlich ganz einfach an, aber da ich selbst weder Ahnung von Elektrotechnik noch von Feuerwerken hatte, musste ich etwas recherchieren und herumfragen, bis ich die passenden Teile gefunden hatte. Ein großes Dankeschön geht an meinen Kollegen Harald, der mich bei der Elektrotechnik unterstützt hat und an Power Fireworks, die mich bei der Auswahl des richtigen Zünders beraten haben.
Die folgenden Teile wurden verwendet:
- Raspberry Pi 3
- Relais
- 12 Volt Netzteil
- Talon Zünder
- Silvesterrakete mit Zündschnur
Das Zusammenbauen
Die Auswahl und Beschaffung der Komponenten war damit erledigt, aber dann kam erst der spannende Teil. Harald und ich haben anhand von Beispielen im Internet überlegt, wie wir das alles am besten zusammenschließen. An dieser Stelle nochmal danke an Harald, denn alleine wäre ich dabei ziemlich verloren gewesen.
Gemeinsam hatten wir dann aber recht schnell eine Idee, wie es theoretisch gehen sollte. Also gleich alles angeschlossen und bereit gemacht für den ersten Test. Da das Relais mit Kontroll-LEDs ausgestattet ist und man generell ein deutliches Klicken hört, wenn ein Relais umschaltet, sieht bzw. hört man sehr schnell, ob man auch erfolgreich war.
Voller Spannung aktivierten wir also den GPIO Pin vom Raspberry Pi, der das Relais schaltet, und… kein klicken zu hören… Das Kontroll-LED leuchtete zwar auf, aber das Relais schaltete nicht. Haben wir also doch etwas falsch angeschlossen. Natürlich ließen wir uns nicht demotivieren und probierten einfach mehrere verschiedene Variante durch, aber keine führte zum Erfolg. Und je mehr Möglichkeiten wir probierten, desto sicherer waren wir uns, dass die ursprüngliche Variante passen müsste. Also vielleicht ist das Relais kaputt, war der nächste Gedanke. Zum Glück haben wir mit Sunny Bag eine Firma im Büro, die sich mit Elektrotechnik beschäftigt. Sie waren so nett und haben uns ein Multimeter geborgt. Aber so richtig viel schlauer wurden wir damit auch nicht. Doch dann, nach ca. 1 ½ Stunden herum probieren, nahm Harald das Netzteil genauer unter die Lupe und entdeckte einen Schalter auf der Unterseite, mit dem sich die Spannung regeln lässt. Unser Relais hat eine Betriebsspannung von 12 Volt, aber das Netzteil war auf nur 3 Volt eingestellt. Also den Schalter schnell auf 12V gedreht, den GPIO Pin aktiviert und… KLICK! Endlich!
Bauanleitung
In folgender Grafik sieht man den finalen Bauplan:
Insgesamt gibt es drei verschiedene Stromkreise. Mit dem GPIO Pin vom Raspberry Pi wird das Relais geschalten. Dazu haben wir den GPIO Pin 18 mit dem IN1 Pin vom Relais verbunden. Die GPIO Pins vom Raspberry Pi funktionieren mit 3,3 Volt. Da das Relais mit 12 Volt arbeitet haben wir den grünen Jumper vom Realais entfernt und den Ground ebenfalls vom Raspi verwendet. Dadurch sind die Stromkreise komplett getrennt und der Raspi vor einer möglichen Überspannung geschützt.
Das Relais wird mit den 12 Volt vom Netzteil versorgt. Dazu wird + mit dem VCC Pin verbunden und der Ground mit dem GND Pin.
Der dritte Stromkreis entzündet den Talon Zünder. Dazu werden ebenfalls die 12 Volt vom Netzteil verwendet. Der Stromkreis wird allerdings erst durch das Schalten des Relais geschlossen. So wird gesteuert wann der Zünder, bzw. in weiterer Folge die Rakete, gezündet werden soll.
Am Foto sieht man wie das Ganze schlussendlich bei mir aussieht. Was sofort auffällt ist, dass ich eine Steckplatine (auch Breadboard genannt) verwendet habe. Diese ist nicht unbedingt notwendig, macht es aber einfacher die Kabeln miteinander zu verbinden. Wer genauer hinsieht wird feststellen, dass es genau wie im Bauplan beschrieben zusammengeschlossen ist.
Fazit
Der Hardwareteil ist damit geschafft. Und wir hatten nicht nur richtig Spaß, sondern haben auch einiges dazu gelernt. Z.B. dass es Netzteile gibt, bei denen man die Volt ändern kann 🙂
Im nächsten Beitrag schauen wir uns an, wie man den GPIO Pin aus einer UWP App ansteuern kann und wie der Bot das Startsignal an die App schickt.