Senior Software-Entwickler, netzkern Technology Evangelist

Basteln für Große (oder: Ferngesteuertes Auto mit Raspberry PI im kern)

RaspberryPi_im_kern

Basteln für Große (oder: Ferngesteuertes Auto mit Raspberry PI im kern)

Kollege Steffens hat mal wieder zugeschlagen. Bereits unter dem Titel „kern4games“ hat er einige Interessierte an die 3D-Engine „Unity 3D“ herangeführt. Vergangene Woche stellte er sein neues Projekt vor:

Worum ging es?

  • In einer kleinen Runde hat er einige von uns an die Hardware-Entwicklung herangeführt – und was wäre dafür besser geeignet als ein Raspberry Pi? Auf diesem, gerade einmal rund 25€ teuren, kleinen Computer kann man u.a. Linux laufen lassen. Ein fertiges Betriebssystem, welches man lediglich auf eine SD-Karte kopieren muss, findet man bereits vorbereitet unter Raspbian.org.
  • Mit diesem System war es nun Jans Ziel ein kleines Auto zu steuern (bzw. erst einmal die Motoren – die Form des Gefährts war da eher zufällig).

RaspberryPi

Und so erklärte er uns die einzelnen Komponenten, die er auf eine Platine gesteckt und mit angelöteten Kabeln verbunden hatte:

RaspberryPi

(Nähere technische Details findet man hier)

Um nicht zu technisch zu werden, kann man die Konstruktion wie folgt zusammenfassen: Wir brauchten eine Batterie. Diese wurde angeschlossen an einen Chip (IC http://de.wikipedia.org/wiki/Integrierter_Schaltkreis), der den Strom weiterleiten und einen Anschluss, mit dem man den eben genannten Chip steuern kann. Das komplette Paket saß auf einer Platine, auf die die Einzelteile aufgelötet wurden.

Die Steuerung des Raspberry PI:

Jan hatte dazu einen Schaltplan mitgebracht. Auch dieser ist, dank eines guten Lehrers, leicht erklärt: Wir haben x Eingänge für den Strom und entsprechend x Ausgänge. Neben jedem dieser Ausgänge gibt es noch einen Schalter, welcher den jeweiligen Ausgang sperren kann (sowohl beim Schalter als auch bei Ein- und Ausgang reden wir hier natürlich nur über Metallstäbchen (Pins)).

Der Raspberry wurde zu guter Letzt über ein 40 poliges Kabel an die Platine angeschlossen. Auf diesem Weg konnten wir die Steuerimpulse vom Raspberry an die Platine und die darauf verbauten Komponenten schicken:

RaspberryPi

Jan hatte für uns bereits ein kleines Programm (Bash-Script) vorbereitet, welches die Motoren des Autos ansprechen konnte:

RaspberryPi

Das mag jetzt auf den ersten Blick nicht direkt verständlich sein. Aber schauen wir uns doch mal kurz eine Zeile näher an und nehmen dafür die zweite Zeile, die mit „gpio“ anfängt:

gpio –g write 2 0

Diese Zeile sagt dem System lediglich, dass wir bitte auf den Pin „2“ „0“ Strom (also keinen) legen möchten. Entsprechend wird in der Zeile darunter Pin „3“ angeschaltet.

Auf diesem Weg versorgt Jan zwei Pins (jeweils einen für jeden Motor) mit Strom (ich glaube es waren 3+4). Die anderen beiden (demnach wohl 17+22) waren die eben genannten Schalter (in diesem Fall um 3+4 zu steuern). Die genauen Zuweisungen hatte Jan während des Lötens auf einem Zettel eingetragen:

RaspberryPi

 

Selbst aktiv werden: Rasperry PI Auto mit einem Server steuern

Bis hierher hat Jan uns nur in die Technik eingeführt. Die „Zuschauer“ waren eher passiv. Aber das war natürlich nicht der Sinn der Sache. Und da wir eine Internetagentur sind, lautete das Ziel des Abends: Einen Webserver aufsetzen und damit die Scripte von Jan (und somit das Gefährt) steuern. Wir haben uns hierbei für einen NodeJS-Server mit Express entschieden. Das Schöne daran ist, dass man einfache Aufgaben schlicht mit einer einzelnen Javascript-Datei ausführen kann.

(technisch): Die Bash-Scripte wurden dabei einfach direkt via „exec“ vom Javascript aus aufgerufen.

Jeder durfte (und sollte) mal ran:

RaspberryPi

So war das Ergebnis des Abends eine kleine (zugegebenermaßen mit vier Buttons und einem Textfeld recht simpel aufgebaute) Webseite, mit der man die Kommandos „links“, „rechts“, „vorwärts“ und „rückwärts“ an das Auto schicken konnte.

Und einen weiteren positiven Nebeneffekt hatte das Ganze auch noch: Einige Teilnehmer, die vorher nie etwas mit NodeJS zu tun hatten, hatten die Gelegenheit sich in dieses Neuland einzuarbeiten.

Ich bin gespannt auf die nächste Ausbaustufe, denn eine Kamera hat Jan bereits an das Auto angebracht ;-)

Kommentare
Es wurden noch keine Kommentare zu diesem Eintrag geschrieben.
Kommentar hinzufügen
Vor und Zuname
E-Mail
E-Mail bei weiteren Kommentaren
Mein Kommentar