0004Klingelblink im Tischtenniskeller
20.07.2015
Eine Retro-Alarmleuchte mit Sound.
Nicht nur, dass wir in unserem Tischtenniskeller keinen WLAN-Empfang haben, auch die Türklingel hören wir da unten nicht. Also hab ich eine Klingelblink-Alarmleuchte gebastelt, die übers Netzwerk mit der Klingel verbunden ist und schön retromäßig blinkt und piepst, wenn jemand läutet.
Zutaten
- Ein paar rote LEDs, ein Buzzer und ein NE555-Timer, damit's piepst und leuchtet.
- Eine Streifenrasterplatine, auf der die Schaltung mit LEDs und Buzzer aufgebaut wird.
- Ein RaspberryPi, der LEDs und Buzzer ansteuert und das Ganze übers Netzwerk erreichbar macht.
- Eine Kellerlampe aus dem Baumarkt (Lampenfassung und Reflektor ausgebaut) als Gehäuse für Platine und RaspberryPi.
- Ein Netzteil mit Micro-USB-Anschluss für die Stromversorgung von Pi und Schaltung.
Aufbau
Die LEDs sind der Einfachheit halber parallel geschaltet, mit nur einem einzigen gemeinsamen Vorwiderstand1. Ein GPIO-Pin vom Raspi schaltet sie über einen Transistor ein- bzw. aus. Die 5V-Stromversorgung kommt ebenfalls vom Raspi.
Außerdem gibts noch einen Piezo-Buzzer, damit das ganze auch akustisch auf sich aufmerksam macht: Immer wenn die LEDs leuchten, erzeugt ein Oszillator (NE555-Timer, 2 Widerständen und 2 Kondensatoren) ein 400Hz-Rechtecksignal, mit dem der Buzzer einen schönen Retro-Warnton produziert.
Micro-USB-Stecker: Die Länge zählt
Beim aktuellen RaspberryPi 2B wird das Kabel für die Stromversorgung seitlich angesteckt – mit den üblichen länglichen Micro-USB-Steckern geht sich das im Lampengehäuse nicht aus. Ich hab am Stecker des verwendeten Netzteils daher das Plastik entfernt und die Litzen „rückwärts“ drangelötet:
Ansteuerung via HTTP-API
Um das Klingelblinken auslösen zu können, läuft auf dem Raspi ein kleiner in Ruby / Sinatra programmierter HTTP-Server. Ein POST-Request auf /klingelblink
aktiviert die Klingel. Damit das funktioniert, haben wir auf dem Raspi WiringPi installiert – der Server nutzt dann einfach das Kommandozeilenprogramm gpio
, um den entsprechenden Pin ein- bzw. auszuschalten2.
Unsere Büroklingel ist über einen Odroid U3 mit dem Netzwerk verbunden. Auf dem Odroid läuft sowieso schon ein Ruby-Programm, das beim Betätigen der Klingel diverse Aktionen durchführt – dort hab ich einfach den Aufruf des Klingelblink-Servers ergänzt.
Bunkerfeeling deluxe
Glühbirnensockel und Reflektor hab ich aus dem Lampengehäuse entfernt, und anschließend für das Stromkabel und den Buzzer zwei zusätzliche Löcher gebohrt. Raspi und Buzzer sind mit Schrauben im Gehäuse befestigt, die Platine klemmt sich mit ihren angeklebten Sandwichplatten oberhalb des Raspi im Gehäuse fest. Beim Netzwerkkabel musste ich den Knickschutz am Stecker kürzen, damit das Kabel durch das mittige Loch im Gehäuse passt (am Raspi ist die Netzwerkbuchse am linken Rand der Platine):
Und hier das fertige Machwerk in Aktion:
P.S.: Natürlich hätte ich auch einfach ein Stück LED-Strip in das Lampengehäuse legen und den Warnton direkt mit dem RaspberryPi erzeugen können, anstatt einzelne LEDs zu verlöten und einen Oszillator zu bauen – aber wo bliebe da der Bastelspaß?
-
Parallelschaltung von LEDs sollte man eher vermeiden, aber nachdem die Klingelblinkleuchte immer nur kurz blinkt und es dabei auch nicht stört, wenn die LEDs nicht ganz gleichmäßig leuchten, ist das in diesem Fall schon okay. ↩
-
Es gibt natürlich auch Rubygems für WiringPi, aber ich war zu faul, extra eins davon zu installieren. ↩
Kommentieren