Vorhang auf für den zweiten Teil meines Projeks „Werkstatt Internet Radio mit Raspberry Pi“. In diesem Teil kümmern wir uns um den Bau des Gehäuses und zahlreiche Elektronik-Komponenten. Wie wird das Ganze aussehen? Seien Sie gespannt.
Nach den Überlegungen zum ersten Teil habe ich das Buch Absichtlich glücklich von Paul Dolan gelesen. Im Buch geht es darum, wie man glücklicher werden kann.
Beeinflusst hat mich seine Definition:
Glück ist die Erfahrung von Freude und Sinnhaftigkeit im Verlauf der Zeit.
Paul Dolan
Und das passte für mich total zum Thema Werkstatt. Wenn es dort etwas zu tun gibt, heißt das für mich immer Freude erfahren und etwas Sinnhaftes tun (zumindest aus meiner Sicht, meine Familie sieht das manchmal anders).
Da war für mich klar, mein Werkstatt-Radio-Projekt durfte nicht mehr so aussehen wie geplant. Gerade Musik steht für mich für Glück und Freude. Und bei Glück und Freude denke ich zuerst an Lachen. Und bei Lachen war mein erster Gedanke ein Smiley.
Was daraus geworden ist? Sehen Sie selbst.
Vorüberlegungen
Wie im Teil 1 beschrieben, möchte ich mehrere Komponeten am Raspberry anschließen.
Es macht also Sinn, sich ein paar Gedanken über eine mögliche Pinbelegung zu machen. Um das System auch weiterzuentwickeln, möchte ich es als Shield auf die GPIO-Pins aufstecken.
Für das LED-Band brauchen wir auf jeden Fall die SPI-Kontakte. Deshalb verwende ich nur Pins auf dieser Pinleisten-Seite.
Für das Shield brauchen wir nur eine Buchsenleiste und eine Streifenrasterplatine.
Die Elektronik
In den nächsten Abschnitten schauen wir uns die einzelnen Komponenten genauer an:
Welche Typen werden verwendet?
Wie sieht der Anschluss aus?
Wie geht der Einbau?
Lautsprecher-Augen
In die Lautsprecher-Abdeckungen bauen wir jeweils eine RGB LED ein. Ursprünglich war mein Plan, eine LED aus dem WS2801-LED-Band auszubauen und diese zu verwenden. Das war mir aber beim genauen Anschauen vom nötigen Bauraum von LED und IC zu groß.
Aber vielleicht hat jemand hier eine bessere Idee.
Über das Thema, wie man zwei LED’s gemeinsam verschaltet, gibt es ja ziemlich viele Ansichten. Ich habe noch gelernt, dass jede LED ihren eigenen Vorwiderstand bekommt. Deshalb ist das auch hier so. Um die GPIOs nicht zu überlasten, verwende ich zusätzlich noch einen Transistor.
Ich möchte auch gleich erkennen, ob das Radio eingeschaltet ist. Dafür nutze ich diese beiden LED’s. Über den Widerstand R2 wird der Ausgangspin des Raspberry auf Ground gezogen. Darum ist auch der PNP-Transistor BC558 eingebaut.
Die LEDs leuchten sofort, sobald der Pi eingeschaltet wird.
So sieht die kleine Schaltung aus:
Wir brauchen die Schaltung für jede Farbe der LED, also 3-mal.
Ich verwende eine Abdeckung aus dem 3D-Drucker (siehe Download). Jedes der 4 Beinchen muss vorsichtig umgebogen und mit einer Leitung verlängert werden.
Meine RGB LED haben eine gemeinsame Kathode. Deshalb habe ich den Vorwiderstand direkt an die LED gelötet und die beiden Kathoden mit GND verbunden.
Die anderen Bauteile finden auf meinem kleinen Shield Platz.
Bewegungsmelder
Ist niemand im Raum, soll automatisch das Display des Radios ausgeschaltet werden. Um das zu erkennen, setze ich einen kleinen Bewegungsmelder HC-SR505. Er hat nur 3 Anschlüsse: VCC, DATA und GND.
Das Bewegungs-Signal DATA wird bereits passend für den Raspberry Pi mit 3,3 V ausgegeben. Als VCC wird 5 V benötigt. Damit können wir den Bewegungsmelder direkt mit den GPIO’s verbinden. Im Gegensatz zu seinem großen Bruder, kann bei der Mini Version keine Empfindlichkeit oder Dauer eingestellt werden. Für meinen Fall funktioniert er perfekt.
Die Signaldauer ist ca. 10 Sekunden. Der Bewegungsmelder ist als Nasenspitze vom Smiley eingebaut.
Dreh-Encoder
Neben dem Touch-Display gibt es zusätzlich bei meinem Gerät eine Bedienung über einen Rotary-Encoder mit Taster.
Für jeden der 3 Eingänge des Encoders brauchen wir diese kleine Schaltung:
Sie hat über den Kondensator C1 eine Hardware Entprellung eingebaut. Bei der zweiten Schaltung wird anstelle des Kontakts A der Kontakt B des Encoders verbunden.
Für den Taster der Kontakt S1. S2 wird mit GND verbunden.
Infrarotsensor
Als kleines Gadget soll sich der Bildschirm ändern, sobald sich eine Hand dem Display bzw. Dreh-Encoder nähert. Das geht am besten mit einem kleinen Infrarotsensor. Diese gibt es für unterschiedliche Reichweiten. Mir schwebt für das Radio eine Reichweite von ca. 10-15 cm vor.
Im Arduino Robotik Bereich gibt es für Fahrzeuge den GP2Y0A21YK0F IR Analog Sensor. Der hat den Vorteil, dass er eine Entfernung im Bereich von 10-80 cm als Analog-Wert messen und zurückgeben kann.
Das klingt doch ziemlich gut. Leider hat der Raspberry keinen Analog-Digital-Konverter, wie der Arduino, eingebaut. Aber für meinen Fall reicht auch eine digitale 0 oder 1.
Da der Sensor für den Arduino ausgelegt ist, arbeitet er mit 5 V Signalspannung. Das ändern wir mit einem variablen Spannungsteiler. So können wir auch die Reichweite einstellen.
Durch die Dicke der Frontplatte werden der Dreh-Encoder und der IR-Sensor etwas vertieft eingebaut.
LED-Band
Ein LED-Band sorgt bei unserem Radio für einmalige Effekte. Am besten eignet sich dafür ein Band vom Typ WS2801. Warum gerade diese teure Variante? Das hängt mit der der Möglichkeit des Pi für hardwaremäßiges PWM zusammen.
Wer hier mehr wissen möchte, schaut sich am besten den Blogeintrag von Tutorials-raspberrypi.de an. Hier ist das sehr gut beschrieben.
Für unser Radio reicht eine Länge mit 1 m. Das sind 32 LEDs.
Das LED-Band hat als Anschlüsse 5V und GND. Die Ansteuerung erfolgt vom Raspberry aus über Pin 23 (SCKL) an das LED-Band zu CI und von Pin 19 (MOSI) an DI.
Bei der Farbbelegung der Leitung des LED-Band muss man genau hinschauen. Bei mir war nicht, wie erwartet, die rote Ader 5V, sondern CI. Das sieht man leider erst, wenn man die Isolierung vom LED-Band entfernt. Wenn also das LED-Band nicht leuchtet, beherzt zum Seitenschneider greifen und die Isolierung entfernen und nachschauen.
Shield
Die bisher gezeigten einzelnen kleinen Schaltungen habe ich auf das Aufsteck-Shield für die GPIO-Pin-Leiste gelötet.
Das sieht noch ziemlich wild aus und bekommt bestimmt keinen Schönheitspreis.
Stromversorgung
Die Stromversorgung hat mir anfangs ziemliche Kopfschmerzen bereitet. Der Verstärker benötigt 12 V und 3 A. Das LED-Band 5V und ca. 1,8 A. Der Raspberry Pi 5 V und 2,5 A.
Was passt hier am besten? Mehrere Stecknetzteile verwenden? Oder gleich ein PC-Netzteil einbauen? Das liefert zumindest gleich alle Spannungen mit ausreichender Stromstärke.
Meine Entscheidung viel auf ein altes Notebook-Netzteil. Es liefert 12 V und 6 A und es muss nicht im Gehäuse eingebaut werden.
Für die Versorgung des Pi und des LED-Bands setze ich einen Step Down Wandler ein. Der TE482 arbeitet zwischen 6-24 V und liefert als Ausgangsspannung 5V bei 3A – perfekt. Er kostet ca. 1,00 €/Stk.
Mein Verstärker arbeitet mit einer Hohlbuchse. Deshalb kommen die oben abgebildeten Schraub-Stecker und Schraub-Buchsen aus meinem Arduino-Baukasten zum Einsatz.
Eingebaut sieht das dann so aus:
Was wäre der Bastelalltag nur ohne Heißkleber!
Als Ein-/Aus-Schalter nehme ich einen kleinen Steckdosenschalter, der das ganze Netzteil schaltet.
Das Design, der Bau
Form und Gehäuse
Die runden Platten für Vorder- und Rückseite habe ich mit einer Bandsäge ausgesägt. Mit einer kleinen Schraube im Kreismittelpunkt geht das ziemlich einfach.
Für die Öffnungen der Lautsprecher und des Displays habe ich eine Sticksäge mit einem feinen Sägeblatt verwendet.
Hartnäckiger war es nur bei der rechteckigen Form des Ultraschallsensors. Schlussendlich war das dann Handarbeit mit der Laubsäge.
1.1 Plexiglas-Seitenteil
Für die runde Zwischenabdeckung das Richtige zu finden, war am schwierigsten. Ich habe mir etwas wie eine dünne schwarze Kunststoffplatte vorgestellt. Darauf wollte ich das LED-Band kleben. Ich habe aber lange nichts gefunden.
Die rettende Idee kam dann von meinem Vater, warum nicht durchsichtiges Plexiglas benutzen und dahinter Papier kleben.
Und das ist es auch geworden. Mir hat mittlerweile die durchsichtige Variante richtig gut gefallen. Jetzt gibt ein kein schwarzes Papier und das LED-Band ist innen angeklebt.
Bei ebay ist Plexiglas oder etwas Alternatives ziemlich teuer. Ich habe als kostengünstige Variante ein 1mm starke flexible Gartenhaus-Abdeckung aus dem Baumarkt entdeckt.
Für die Befestigung musste ich nur mit einem kleinen Fräser eine Nut in Vorder- und Rückseitenplatte fräsen. Das geht wieder mit demselben Prinzip, wie beim Sägen der Kreise. Allerdings brauchen Sie dafür eine Tischhalterung für den Fräser.
Verstärker
Die Platine des Verstärkers hat zusätzlich zur Lautstärkeregelung einen Ein-/Ausschalter. Den wollte ich aber nicht ausbauen. Ich habe mich dafür entschieden, lieber eine Verlängerung für das Lautstärke-Poti zu bauen.
Meine Version ist ein Ausdruck aus dem 3D-Drucker.
Gehalten wird die Platine mit zwei Holzleisten, die dann verschraubt werden.
Eingebaut sieht beides so aus:
7“-Display
Für den Raspberry Pi brauchen wir beim Original Display der Raspberry Pi Foundation nicht überlegen. Er wird direkt auf die Platine des Displays geschraubt und mit dem Flachbandkabel verbunden. Die Stromversorgung mit 5V und GND wird über die beiliegenden Leitungen angeschlossen (Pin 1 und Pin 5).
Für die Befestigung des Displays gibt es 4 Gewinde. Diese wollte ich verwenden. Dafür habe ich mir zwei Blechwinkel gebogen und gebohrt.
Erste Funktionstests
So war jetzt ganz schön viel Arbeit. Ob alles funktioniert, sollten wir testen. Dafür eignen sich ein paar Python-Testprogramme am besten.
Sie können sie unter Download herunterladen und die Funktionen einzeln ausprobieren.
Für das LED-Band ist aber eine Library von Adafruit notwendig.
Sie wird installiert mit:
sudo pip install adafruit-ws2801
Wie geht’s weiter?
Im nächsten und letzten Teil des “Werkstatt Internet Radio mit Raspberry Pi” kommt die Software für das Radio dazu.
Diese soll wieder mit Freepascal und Lazarus programmiert werden. Ich bin selber gespannt, ob das alles wie geplant funktioniert.
Und wenn Sie das Thema Glück interessiert, nehmen Sie mal an einem Tag einen kleinen Block mit und notieren sich, wann und wie stark empfinden Sie Freude und wann und wie stark empfinden Sie Sinnhaftigkeit. Damit bekommen Sie eine gute Richtung, um genau die Sachen zu tun, die Sie glücklicher machen.
Im nächsten Teil geht es um die Programmierung der Software, die alle Funktionen verbindet.
Teil 3: Software, GPIO und Webradio
Download
Python Testprogramme für Einzelkomponenten
STL-Dateien für Lautsprecher, Verlängerung für Encoder, eigene Drehknöpfe
Links
Blog Tutorials-RaspberryPi.de über WS2801
Meine Schaltpläne habe ich mit Kicad erstellt
Pingback: Werkstatt Internet Radio mit Raspberry Pi - Tech+Code