zurück zum Artikel

Physical-Computing-Blöcke aus Holz für den Raspberry Pi

Tobias Hübner
Holzbrett mit Raspberry Pi neben drei Holzwürfeln mit LED bzw. Taster.

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.

Mehr Infos

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

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:

Konstruktionsskizzen für die Holzwürfel mit LED und Buzzer.

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.

Blick auf Holzwürfel mit großem Loch.

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.

Holzblock mit LED eingelassen.

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.

Zwei Schrauben ragen aus einem Stück Holz.

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.

In einem Holzrahmen hängen zwei Kabel, in einem ist eine LED eingelötet. Außen ist Schrumpfschlauch.

Nun wickeln wir die beiden freien Enden um die Schrauben, decken sie mit der Unterlegscheibe ab und klemmen sie mit der Mutter fest.

An zwei Schrauben sind Kabel angeklemmt.

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.

Anschluss des Buzzers im offenen Holzwürfel.

Im nächsten Schritt wenden wir uns noch einmal dem Holzbrettchen für den Raspberry Pi zu.

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.

Eine Konstruktionsskizze für die Holzplatte mit dem Raspberry Pi.

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.

Blick auf Holzplatte, mit Spacern ist ein Raspberry Pi verbaut.

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.

Holzplatte mit mehreren Löchern.

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.

An eine Schraube sind mehrere Bananenstecker geklemmt.

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.

An der Pinleiste des Raspberry Pi sind Jumperkabel aufgesetzt.

Anschließend beschriften wir alle Schrauben (und ggf. die Anschlüsse am Raspberry Pi) mit einer Label-Maschine. Das war's auch schon!

Große Beschriftungen neben zwei Schrauben im Holz.

Nun schließen wir die Physical-Computing-Blöcke mit den Krokodilklemmen an den Raspberry Pi an und programmieren los.

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.

Blick auf das komplette Building-Blocks-Setup mit Raspberry Pi, zwei Tastern und LED-Würfel.

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.

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:

Sketch aus der Programmierumgebung Scratch.

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

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