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

Nerds only

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.

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.

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.

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.

Eine solche Zwischenplatine ermöglicht außerdem die freie Wahl bei den Pins auf RasPi-Seite. Trotzdem lohnt es sich, die Pegel nachzumessen: Ist aus irgendeinem Grund bei einem Pin der interne Pullup beziehungsweise Pulldown aktiviert, kommt es zu Fehlfunktionen. Sie müssen die Kommandos aus Listing 1 also einmalig nach dem Booten mit dem Parameter tri statt down absetzen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

12/2018
Coole Projekte

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Bytes und Beats

    In Sonic Pi können Sie mit wenigen Codezeilen Klänge manipulieren, Beats zusammenstellen und ganze Songs komponieren.

  • Klein, aber fein

  • Trick or treat

    Das traditionelle RPG-Gruselkabinett glänzt dieses Jahr mit einer innovativen Umsetzung mittels Pneumatik und Elektropneumatik sowie ST-Programmierung.

  • Unter Kontrolle

    Traditionell stellen wir alljährlich ein selbst gebautes Halloween-Gespenst vor. Die pneumatischen und elektronischen Grundlagen erklärt dieser Artikel.

  • Go Pi Go!

    Der Bausatz GoPiGo3 liefert Bauteile und Software für ein kleines Roboterauto. Zusammen mit einem RasPi als Gehirn programmieren Sie den Roboter per Mausklick.

  • Handlicher Helfer

    Während die Folien der Präsentation durchlaufen, liefert ein kleiner Dokumentenserver auf Basis des GL-AR300M-ext zusätzliche Informationen aus.

  • Wiederverwertet

    Mithilfe eines einfachen Python-Programms recyceln Sie ein ausgedientes Smartphone als drahtlos angebundenes RasPi-Display.

  • Herzenssache

    Steigt beim Krimi der Herzschlag bedrohlich an? Mit einem Pulsmesser in Eigenbau ermitteln Sie einfach und kostengünstig, ob der Herzschlag noch in verträglichen Bereichen liegt.

  • Fernbedient

    Mit der Fernbedienung den RasPi steuern. In der Theorie möglich, in der Praxis oft beschwerlich. Die Libcec liefert praktische Tools zur Fehlersuche.

  • Musikwürfel

    Mit Musikcube machen Sie Ihre eigene Sammlung fit fürs Streamen. Der terminalbasierte Audioplayer lässt sich Fernsteuern und bietet eine App für Android-Smartphones.