Physical-Computing-Blöcke aus Holz für den Raspberry Pi
Günstige Holzwürfel mit LED und Tastern machen aus dem Raspberry Pi eine Lernplattform, die besonders für die Arbeit mit Grundschulkindern geeignet ist.
Wer drückt schneller auf den Knopf, wenn das Licht leuchtet? Mit Holz, LEDs und Arcade-Knöpfen bauen wir aus dem Einplatinenrechner Raspberry Pi eine kostengünstige Lernplattform zum Anfassen. Dank der grafischen Programmieroberfläche Scratch und dem beliebten Spiel Minecraft ist das Projekt insbesondere für die Arbeit mit Grundschulkindern geeignet. Denn so nützlich der Raspi sonst ist, für einige Kinder ist das Anschließen von Hardware an die ungekennzeichneten Pins oder an fummelige Steckbretter eine zu große Hürde, wie wir in unseren Workshops in der Codingschule Düsseldorf immer wieder merken.
Unsere Inspiration kam mit einem Blog-Eintrag der Raspberry Pi-Foundation [1]: Für die Maker Faire 2017 in New York hatte der Tüftler Ben Light ein kreatives und optisch überaus ansprechendes Projekt für den offiziellen Stand der Foundation entworfen – er nannte es „physical computing blocks“.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung [2].
Leider gibt es im Netz keinerlei genaue Bauanleitung, daher haben wir beschlossen, unsere eigene Variante der Physical-Computing-Blöcke herzustellen. Unser erstes Set besteht aus einem Raspberry Pi sowie zwei Blöcken mit jeweils einem großen Arcade-Button und einem LED-Block. Für Workshops sollte man gleich einen Klassensatz herstellen. Zum Glück reichen ältere Varianten des Raspi locker aus und finden so vielleicht einen neuen Einsatzzweck. Ein großer Dank geht an meinen Vater Karl-Dieter Hübner, der in seiner Werkstatt den handwerklichen Part des Projekts realisiert hat – dem Ingenieur ist nichts zu schwör! Noch mehr Blöcke haben wir auch bereits in Arbeit.
Kurzinfo
- Elektronik zum Anfassen für Grundschulkinder
- Physical-Computing-Blöcke für den Raspberry Pi
- Programmierung mit Scratch oder Python
Checkliste
- Zeitaufwand: 4 Stunden pro Set
- Kosten: 20 Euro (ohne Raspi)
- Holzbearbeitung: Grundkenntnisse
- Programmieren: Scratch- oder Python-Kenntnisse
Material
- 1 Raspberry Pi (jedes Modell)
- 1 (Micro-)SD-Karte (mind. 4 GB)
- 2 Arcade-Knöpfe
- 1 große LED
- 1 Widerstand (68 Ohm)
- 1 Kabel (ca. 20 cm)
- 2 Jumperkabel (Buchse - Buchse)
- 9 kurze Schrauben (ca. 15 mm lang)
- 1 längere Schraube (ca. 30 mm lang)
- 10 passende Unterlegscheiben und Muttern
- 4 Spacer (z. B. vom Sense-HAT) sowie 6 passende Schrauben
- 4 Flachsteckhülsen (Kabelschuhe)
- 6 Krokodilklemmen
- Schrumpfschläuche
- 1 Holzbrett (7mm dick, mind. 300×200mm, s.u.)
- Holzkleber
Werkzeug
- Lötkolben
- Dremel
- Zange
Holz in Form bringen
Zur Herstellung einer Station benötigt man mehrere kleine Holzplatten. Wer keinen Vater mit Holzwerkstatt hat, bittet einfach die nächstgelegene Schreinerei oder Baumarkt, die Bretter zurecht zu sägen oder erledigt es im Makerspace selbst. Folgende Maße werden benötigt:
- 1 Brett in der Größe 150×105mm für den Raspberry Pi
- 6 Bretter mit den Maßen 50×50mm
- 6 Bretter in der Größe 50×55mm
Aus den zwölf kleinen Brettern enstehen die Gehäuse für die beiden Knöpfe und die LED. Dafür verleimen wir die Bretter so, wie es in der Skizze zu sehen ist: Die beiden größeren Bretter bilden die Seitenwände, die kleineren dienen als Boden bzw. Oberseite. Wenn der Kleber getrocknet ist, muss in zwei der Blöcke ein Loch für die Arcade-Knöpfe gebohrt werden. Diese benötigen in der Regel ein Loch mit 28mm Durchmesser. Messen Sie zur Sicherheit vorher nach, wie breit ihr Knopf tatsächlich ist.
Für den LED-Block benötigt man lediglich zwei kleine Löcher auf der Oberseite, durch die anschließend die beiden Beine der LED und der Widerstand geschoben werden.
Auch durch die Unterseite der drei Blöcke bohren wie jeweils zwei Löcher, um dort die Schrauben zu befestigen. Der Durchmesser der Schrauben kann variieren; man sollte nur darauf achten, dass die Schraube noch mit der Krokodilklemme „gegriffen“ werden kann.
Und nun zur Elektronik
Jetzt kommt der Lötkolben zum Einsatz, um den Widerstand an die LED zu löten. Dazu kürzen wir ein Bein der LED und die Enden des Widerstands. Ob der Widerstand dabei an die Anode (langes Bein, Pluspol) oder die Kathode (kurzes Bein, Minuspol) gelötet wird, ist egal, man muss es sich nur für die spätere Beschriftung merken.
Anschließend löten wir zwei weitere Kabel, deren Enden vorher abisoliert wurden, an den Widerstand und das andere Bein der LED. Für eine saubere Optik können die Lötstellen anschließend mit Schrumpfschläuchen verdeckt werden.
Nun wickeln wir die beiden freien Enden um die Schrauben, decken sie mit der Unterlegscheibe ab und klemmen sie mit der Mutter fest.
Für den Anschluss der Arcade-Knöpfe müssen ebenfalls zwei Kabel abisoliert und in die Flachsteckhülsen eingeklemmt werden. Diese werden mit dem Arcade-Knopf verbunden und die anderen Enden wie bereits zuvor um die Schrauben gewickelt und eingeklemmt.
Im nächsten Schritt wenden wir uns noch einmal dem Holzbrettchen für den Raspberry Pi zu.
Befestigungen bohren
Wenn der Raspberry Pi schon etwas älter ist und daher keine Befestigungslöcher hat, markieren und bohren wir als erstes nach der Skizze die beiden Befestigungslöcher für den Raspberry und befestigen dort die Spacer.
Um die Schrauben im Brett zu versenken, sollte das Holz um das Loch etwas aufgebohrt werden – so verhindert man, dass das Brett wackelt. Hierfür können die Spacer verwendet werden, die zum Beispiel beim SenseHAT im Lieferumfang enthalten sind. Nun können an den eingezeichneten Stellen zwei weitere Spacer eingesetzt werden, um das Board besser zu befestigen.
Neuere Modelle des Raspberry Pi besitzen vier Befestigungslöcher, so dass hier alle Spacer sowohl mit dem Brett als auch mit dem Pi verbunden werden können. Dazu müssen die Löcher entsprechend an passenden Stellen im Brett gebohrt werden. Hierzu befestigt man die Spacer am Pi, setzt ihn in die Mitte des Bretts und zeichnet mit einem Bleistift ein, wo die Löcher gebohrt werden müssen. Anschließend bohren wir vier weitere Löcher, um die drei kürzeren sowie die lange Schraube einzustecken.
Um diese Schrauben mit den GPIO-Pins 2,3 und 4 sowie einem Ground-Pin zu verbinden, schneidet man zwei Jumperkabel in der Mitte durch und entfernt die Isolierung an den Enden, etwa durch vorsichtiges Anschneiden mit einer Zange.
Die Enden wickeln wir um die Schrauben und stecken die anderen Enden in die jeweiligen Pins auf dem Raspberry Pi. Wer mag, kann natürlich noch weitere oder andere Pins verwenden. Auch hier können die Kabel mit Schrumpfschläuchen verdeckt werden, um die Optik zu verfeinern.
Anschließend beschriften wir alle Schrauben (und ggf. die Anschlüsse am Raspberry Pi) mit einer Label-Maschine. Das war's auch schon!
Nun schließen wir die Physical-Computing-Blöcke mit den Krokodilklemmen an den Raspberry Pi an und programmieren los.
Software
Als Betriebssystem haben wir uns für eine ältere Variante von „Raspbian Jessie“ entschieden, die noch die Option bietet, direkt nach dem Start die Software „Scratch“ im Vollbildmodus zu starten. Das Programmieren mit Scratch im Vollbildmodus hat in Workshops mit kleineren Kindern den großen Vorteil, dass man sich die Erklärung der graphischen Benutzeroberfläche spart. In der aktuellen Version von Raspbian steht die Option leider nicht mehr zur Verfügung steht.
Unser Raspbian verbraucht außerdem weniger Ressourcen und läuft auch auf älteren Raspberry Pis. Mit einigen Modifizierungen passt es sogar auf 4-GB-SD-Karten. So haben wir die Wolfram-Programmiersprache entfernt und den für unser Projekt notwendigen GPIO-Server für Scratch installiert. Wer möchte, kann sich das fertige Image von unserem Server herunterladen [3]. Mit einem neueren Raspberry Pi ist aber der Einsatz des aktuellen Raspbian möglich.
Unser erstes Programm
Ein erstes Scratch-Projekt für die Physical Computing-Blocks ist eine Modifizierung des „Astronaut Reaction Games“ von der Raspberry Pi Foundation [4]. Das folgende Programm nutzt beispielsweise die LED, um den Start des Spiels anzuzeigen. Anschließend gewinnt der Spieler, der zuerst seinen Knopf drückt:
Spielen mit Python
Die Physical-Computing-Blocks eignen sich auch für den Einsatz in Python – etwa um sie in der vorinstallierten Version von „Minecraft“ dazu zu verwenden, Blöcke in die Welt zu setzen. Dank der gpiozero
-Bibliothek geht dies recht schnell von der Hand und ist auch für kleinere Kinder machbar.
Um mit Python und Minecraft arbeiten zu können, beenden wir Scratch und erhalten mit Drücken von CTRL und X Zugang zur Kommandozeile. Hier geben wir sudo raspi-config
ein und wählen im erscheinenden Menü unter Punkt 3 Enable Boot to Desktop/Scratch den zweiten Punkt Desktop Log in as user ‘pi’ at the graphical desktop aus. Nach einem Neustartet bootet der Pi in die graphische Oberfläche, wo mit Python und Minecraft gearbeitet werden kann.
Der folgende Python-Code lässt zunächst eine LED blinken, die an den GPIO-Port 4 angeschlossen ist:
from gpiozero import LED
from time import sleep
led = LED(2)
while True:
led.on()
sleep(0.5)
led.off()
sleep(0.5)
Dieser Code zeigt, wie man das Reaktionsspiel leicht abgewandelt in Python umsetzen kann:
from gpiozero import Button, LED
from time import sleep
import random
led = LED(2)
Spieler1 = Button(3)
Spieler2 = Button(4)
Zeit = random.uniform(1,10)
led.on()
sleep(Zeit)
led.off()
while True:
if Spieler1.is_pressed:
print("Spieler 1 gewinnt!")
break
if Spieler2.is_pressed:
print("Spieler 2 gewinnt!")
break
Holzblock trifft Minecraft-Blöcke
Dieser Python-Code schließlich setzt der Reihe nach verschiedene Minecraft-Blöcke übereinander, wenn man den Knopf drückt und lässt dabei die LED leuchten:
from gpiozero import LED, Button
from time import sleep
from mcpi import minecraft
led = LED(2)
Knopf = Button(3)
mc = minecraft.Minecraft.create()
a = 1
while True:
if Knopf.is_pressed:
led.on()
mc.setBlock(0,a,0,a)
a = a+1
sleep(0.5)
led.off()
Ich hoffe, dieses Tutorial hilft beim Erstellen eigener Physical Computing-Blöcke. Vielleicht hat der ein oder andere Leser auch Ideen zu neuen Blöcken mit weiterer Hardware. Gerade arbeite ich an Buzzer- und Ultraschall-Sensor-Blöcken. Anregungen jeder Art sowie Lob und Kritik nehme ich gerne per E-Mail entgegen [5]. Auf meinem Blog habe ich außerdem zahlreiche Anregungen zur Arbeit mit dem Raspberry Pi in der Schule wie kostenlose Unterrichtsmaterialien und weitere Projektideen, etwa zum Bau eines Controllers aus einem Überraschungs-Ei [6] oder eines LEGO-Gehäuses für den Pi [7]. (hch [8])
URL dieses Artikels:
https://www.heise.de/-4309780
Links in diesem Artikel:
[1] https://www.raspberrypi.org/blog/physical-computing-blocks/
[2] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[3] http://www.medienistik.de/Blocks_Image.zip
[4] https://projects.raspberrypi.org/en/projects/astronaut-reaction-times
[5] mailto:info@medienistik.de
[6] https://medienistik.wordpress.com/2016/08/21/bau-deinen-game-controller-auf-dem-nrw-tag-27-8-28-8-16/
[7] https://medienistik.wordpress.com/2016/10/04/minecraft-lego/
[8] mailto:hch@make-magazin.de
Copyright © 2019 Heise Medien