Ein gestandener Bastler zelebriert Halloween mit allerlei technischem Hokuspokus. Der Raspberry Pi liefert dafür die ideale Ausgangsbasis.
In Ausgabe 06/2015 beschäftigten wir uns schon einmal mit dem Thema Halloween [1]. Damals beschrieben wir den Bau eines Gespensts, das lautstark jammernd und mit den Armen wedelnd die Kinder der Nachbarschaft erschreckt. Den damaligen Artikel samt Listings und Demofilmen finden Sie auf der Heft-DVD.
Nach zwei Jahren wird es nun Zeit für ein Upgrade. Dabei bekommt unser einsames Gespenst einige Freunde zur Verstärkung an die Seite gestellt. Was Sie zum Nachbau alles benötigen, zeigt die Tabelle “Bauteilliste”. Insgesamt schlägt das Projekt mit knapp 100 Euro zu Buche.
Bauteilliste
|
Anzahl |
Bezeichnung |
Quelle |
Kosten (ca.) |
|---|---|---|---|
|
Allgemeines |
|||
|
1 |
USB-Soundkarte |
Amazon |
2,00 Euro |
|
1 |
4-Kanal-Funkfernsteuerung |
aliexpress.com |
2,55 Euro |
|
2 |
LM2596S Stepdown-Modul |
ex-store.de |
2,49 Euro |
|
|
|
Summe (ca.) |
9,50 Euro |
|
Skelett (Zeitaufwand: drei Nachmittage) |
|||
|
1 |
Totenkopf |
aliexpress.com |
9,24 Euro |
|
1 |
Zwei Skelettarme |
aliexpress.com |
9,24 Euro |
|
3 |
MG995 Metal Servo |
aliexpress.com |
4,00 Euro |
|
2 |
RDS3115mg Robot Servo |
aliexpress.com |
7,10 Euro |
|
1 |
Servo SG90 Mini Servo 9g |
ex-store.de |
2,99 Euro |
|
|
Diverse Holzteile |
Bastelkiste |
10,00 Euro |
|
|
Diverse Elektroteile |
Bastelkiste |
5,00 Euro |
|
|
|
Summe (ca.) |
65 Euro |
|
Spinne Tekla (Zeitaufwand: ein Nachmittag) |
|||
|
1 |
Spinne 70 cm |
aliexpress.com |
2,85 Euro |
|
1 |
MG995 Metal Servo |
aliexpress.com |
4,00 Euro |
|
|
Diverse Elektroteile |
Bastelkiste |
2,00 Euro |
|
|
|
Summe (ca.) |
7 Euro |
|
Spinne Quax (Zeitaufwand: drei bis vier Nachmittage) |
|||
|
1 |
Spinne 30 cm |
aliexpress.com |
1,06 Euro |
|
1 |
Servo SG90 Mini Servo 9g |
ex-store.de |
2,99 Euro |
|
1 |
Vario-Getriebe-Bausatz |
voelkner.de |
7,99 Euro |
|
1 |
Stufenscheiben 30/25 |
voelkner.de |
1,99 Euro |
|
|
Diverse Elektroteile |
Bastelkiste |
5,00 Euro |
|
|
Diverse Holzteile |
Bastelkiste |
5,00 Euro |
|
|
|
Summe (ca.) |
24 Euro |
2015 aktivierte ein Bewegungssensor das Gespenst. Die Reaktionen der Kinder fielen je nach Alter sehr unterschiedlich aus: Von Angst bis Neugier war alles dabei. Um gerade die Jüngsten nicht zu arg zu erschrecken, beschlossen wir, in der neuen Version die Effekte nicht automatisch zu aktivieren. Erst nach einem prüfenden Blick auf die Kinder aktivieren wir die gruseligen Gesellen per Fernbedienung.
Das Projekt besteht aus drei Mitstreitern: Das Skelett bewegt Kopf und Arme, wobei es gruselig jammert. Die Spinne Tekla blinkt mit den Augen und bewegt die Beine. Eine weitere Spinne – wir haben sie Quax getauft – stürzt sich todesmutig von oben herab auf die Besucher. Unser RasPi steuert alle drei Gesellen. Die Soft- und Hardware haben wir so flexibel gestaltet, dass sich jeder der Gruselgesellen auch einzeln aufbauen lässt.
Software einrichten
Als Betriebssystem kommt Raspbian “Jessie Lite” zum Einsatz, das Sie herunterladen und auf die SD-Karte schreiben. Die Software schreiben wir diesmal in Python. Allerdings erzeugt die in Python vorhandene PWM-Funktion zu ungenaue Signale, um Servos exakt anzusteuern. Aus diesem Grund verwenden wir hier die Wiring-Pi-Bibliothek.
Wie sich herausstellt, beißt sich der derzeitige Kernel 4.9 mit dem aktuellen Wiring 2.44. Deswegen bleibt als einzige Lösung ein Downgrade des Kernels. Vermutlich korrigieren die Entwickler dieses eigentümliche Verhalten in einer der nächsten Versionen der Wiring-Pi-Bibliothek aber.
Zunächst bringen Sie, wie in Listing 1 gezeigt, die installierte Kernel-Version in Erfahrung. Möchten Sie den langen Hash aus der dritten Zeile nicht abtippen, können Sie ihn auch aus einem Foreneintrag zu dem Problem kopieren [2]. Nach der erfolgreichen Installation aktivieren Sie den Kernel mit einem Neustart. Danach aktualisieren Sie das System und spielen die erforderlichen Software-Pakete ein (Listing 2). Zu guter Letzt prüfen Sie, ob Wiring Pi fehlerfrei arbeitet (Listing 3).
Listing 1
$ uname -a
Linux raspberrypi 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv6l GNU/Linux
$ sudo rpi-update 52241088c1da59a359110d39c1875cda56496764
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13403 100 13403 0 0 57550 0 --:--:-- --:--:-- --:--:-- 58021
[...]
*** Deleting downloaded files
*** Syncing changes to disk
*** If no errors appeared, your firmware was successfully updated to 52241088c1da59a359110d39c1875cda56496764
*** A reboot is needed to activate the new firmware
$ sudo reboot
Listing 2
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install git-core $ sudo apt-get install python-dev python-pip $ sudo pip install wiringpi2 $ git clone git://git.drogon.net/wiringPi $ cd ~/wiringPi $ git pull origin $ ./build
Listing 3
$ gpio readall +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 0 | 3 || 4 | | | 5v | | | | 3 | 9 | SCL.1 | IN | 0 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 0 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 0 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 0 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 0 | IN | CE1 | 11 | 7 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+
Hat alles geklappt, steht die Software-Basis zum Programmieren unserer gruseligen Gesellen. Nun folgt die akustische Untermalung für das Gruselkabinett.
Sound
Der Raspberry Pi verwendet zum Erzeugen des Sounds seinen internen PWM-Generator. Um die Servos anzusteuern, verwenden wir ebenfalls PWM-Signale. Deswegen könnte es vorkommen, dass sich Servomotoransteuerung und Sounderzeugung in die Quere kommen. Um das zu verhindern, verwenden wir eine kostengünstige externe USB-Soundkarte [3].






