Startseite>Bau eines Pi-Zero-Lichtweckers mit dem Four-Letter-pHAT
Aus Raspberry Pi Geek 12/2017

Bau eines Pi-Zero-Lichtweckers mit dem Four-Letter-pHAT

Nerds only

Bernhard Bablok

Der Nerd-Wecker weckt – und macht gleichzeitig jede Menge Spaß beim Bauen und Anpassen.

Wecker gibt es wie Sand am Meer, doch bei genauem Hinsehen entpuppen sich selbst Markenartikel als nur bedingt brauchbar. Bei allen Geräten fehlt mindestens eine Funktion, die man unbedingt haben möchte. Da liegt es nahe, den Wecker gleich selbst zu bauen. Im Pflichtenheft stehen erst einmal die Grundfunktionen: korrekte Anzeige der Zeit, selbst nach einem Stromausfall; Einstellen von mehreren Weckzeiten; Wecken mit Ton und Licht.

Außerdem soll sich der Wecker einfach konfigurieren lassen – ein Punkt, an dem die meisten kommerziellen Produkte scheitern: Hier artet das Einstellen der Zeiten meist zu einer Orgie an Tastendrücken aus. Zu guter Letzt wäre es nett, wenn der Wecker noch die eine oder andere Spezialfunktion böte, damit sich die Mühe lohnt.

Als Basis für unseren Wecker dient ein Pi Zero W. Für die “Firmware” eines Weckers fast überdimensioniert, erlaubt Raspbian das Implementieren von Funktionen mit vertretbarem Aufwand. Auf Hardware-Seite kommen ein LED-Streifen von Pimoroni (Modell Blinkt!), eine vierstellige Segmentanzeige (Four-Letter-pHAT) desselben Herstellers sowie eine einfache Folientastatur mit vier Tasten zum Einsatz.

Für die Ausgabe von Tönen sorgt ein Paar Lautsprecher mit eingebauter Soundkarte, die der Rechner über den USB-OTG-Anschluss mit Audiodaten versorgt. Eine Realtime-Clock ist streng genommen nicht notwendig, stellt aber im Fall eines Reboots die exakte Uhrzeit wieder her.

Die eigentliche Konfiguration des Weckers erfolgt per Chatbot (siehe dazu den Artikel in der Rubrik “Know-how” in diesem Heft). Er erspart das Drücken komplexer Tastenfolgen beim Einstellen. Ein paar Tasten sind aber trotzdem von Vorteil, denn wenn der Wecker klingelt, möchte niemand erst nach das Smartphone suchen und einen Chat anfangen – obwohl das dem Aufstehen eventuell förderlich wäre.

Da die Komponenten und die Software völlig unabhängig vom Wecker funktionieren, besteht die Möglichkeit, Tastatur, LED-Streifen und Segmentanzeige in ganz anderen Projekten einzusetzen.

Der Pi Zero

Beim Pi Zero benötigen wir einen bestückten GPIO-Header. Wollen Sie nicht selbst löten, greifen Sie entweder zur vorkonfektionierten Ausführung [1] oder versuchen sich mit speziellen Headern von Pimoroni [2], die Sie per Hammer vorsichtig in den Zero klopfen. Der Pi kommt dabei in eine spezielle Halterung, die Kraft verteilt sich über eine Platte von oben gleichmäßig auf alle Pins (Abbildung 1). Trotzdem splittert der obere Teil der Halterung früher oder später – Plexiglas und Hammer vertragen sich einfach nicht gut.

Abbildung 1: Statt einen bestückten GPIO-Header auf den Pi Zero zu löten, können Sie ihn mithilfe einer Halterung auch durch sanfte Schläge mit einem Hammer an der entsprechenden Stelle befestigen.

Abbildung 1: Statt einen bestückten GPIO-Header auf den Pi Zero zu löten, können Sie ihn mithilfe einer Halterung auch durch sanfte Schläge mit einem Hammer an der entsprechenden Stelle befestigen.

Außer einem OTG-Adapter für den USB-Port benötigen Sie keine weitere Hardware für den Zero. Beim ersten Einrichten greifen Sie entweder per SSH auf den Rechner zu, oder Sie hängen temporär einen Bildschirm, eine Tastatur und eine Maus an den Pi.

Das Projekt funktioniert im Prinzip auch mit jeder anderen Raspberry-Pi-Variante. Die Modelle 1 bis 3 haben den Vorteil, bereits einen bestückten GPIO-Header mitzubringen. Beim RasPi 1/2 wäre es aber nötig, zumindest noch WLAN nachzurüsten. Alle Varianten geben sich durch den integrierten Audioausgang hinsichtlich der verwendbaren Lautsprecher etwas flexibler.

Als Software für den Wecker kommt Raspbian “Lite” zum Einsatz. Fühlen Sie sich in einer grafischen Umgebung wohler, dann installieren Sie den Desktop Pixel nach; bei heutigen SD-Karten spielt dessen Platzverbrauch kaum eine Rolle.

In die Tasten hauen

Obwohl das Steuern über Tasten bei den meisten Weckern mehr schlecht als recht funktioniert, kommen Sie doch nicht ganz ohne aus. Für unser Projekt nutzen wir ein kleines Folien-Keyboard mit vier Tasten (Abbildung 2). Sie beziehen es für ein paar Euro über Amazon oder Ebay. Achtung: Ähnliche Tastaturen mit mehr Tasten eignen sich nicht, denn dabei handelt es sich um sogenannte Matrixtastaturen, die zum Verarbeiten der Tastendrücke einen zusätzlichen Mikrocontroller benötigen.

Abbildung 2: Eine einfache Folientastatur mit vier Tasten genügt, um die grundlegenden Funktionen des Weckers zu bedienen.

Abbildung 2: Eine einfache Folientastatur mit vier Tasten genügt, um die grundlegenden Funktionen des Weckers zu bedienen.

Das Anschließen der Tastatur an den Pi gestaltet sich etwas knifflig. Das Mini-Keyboard hat vier Leseleitungen und eine Leitung, die Sie an Masse oder VCC anschließen müssen. Auf den neueren RasPis gibt es genau eine Anschlussmöglichkeit: Pin 39 als Masse und die vier Pins daneben (physisch Pins 31, 33, 35, 37; in Abbildung 3 links unten).

Abbildung 3: Das Pinout zeigt die Anschlussmöglichkeiten für die Tasten.

Abbildung 3: Das Pinout zeigt die Anschlussmöglichkeiten für die Tasten.

Das birgt ein gewisses Risiko: Haben Sie einen der Pins irrtümlich als Output konfiguriert und drücken die dazugehörige Taste, kommt es zu einem Kurzschluss. Listing 1 zeigt die korrekte Konfiguration. Das Wiring-Pi-Kommando gpio setzt die Pins auf Input und aktiviert den internen Pullup. Ein Tastendruck zieht den Pin dann auf Masse.

Listing 1

 

#!/bin/bash
# GPIOs als Input
gpio -g mode  6 in
gpio -g mode 13 in
gpio -g mode 19 in
gpio -g mode 26 in
# Pullups aktivieren
gpio -g mode  6 up
gpio -g mode 13 up
gpio -g mode 19 up
gpio -g mode 26 up

Besser und flexibler als der direkte Anschluss ist eine kleine Zwischenplatine (Abbildung 2, links). Statt interner Pullups ohne Möglichkeit zur Statusabfrage kommen hier Pullups beziehungsweise Pulldowns in Hardware zum Einsatz. Außerdem gibt es einen Schutzwiderstand.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland