Mittlerweile gehören MP3-Player, Smartphhones und USB-Sticks mit 128GB und mehr Speicher zum Alltag. Musik zu speichern und zu transportieren ist deshalb so einfach wie nie geworden.
Vor ca. 30 Jahren sah das noch anders aus. Der „USB-Stick der 80er/90er“ war die Kassette.
Natürlich habe auch ich noch eine Menge davon rumfliegen und bringe es bis heute nicht übers Herz diese zu entsorgen. Andererseits bricht es mir auch das Nerd-Herz, dass diese Kassetten in irgendeinem Karton im Keller Verrotten.
Deswegen habe ich nach einem Weg gesucht „das Alte“ mit etwas praktischem zu verknüpfen und somit die Kassetten aus Ihren Kisten herauszuholen.
Herausgekommen ist die pxlBlck_CassetteLamp. Eine Lampe, welche halb durchsichtige Kassetten als Lampenschirm nutzt und dank WiFi-Anbindung neben der Lampenfunktion auch als Informationsquelle für Ereignisse im SmartHome genutzt werden kann.
Was Ihr benötigt und tun müsst um Euch eine eigene pxlBlck_CassetteLamp zu bauen, ist im folgenden Artikel beschrieben.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Für den Aufbau müsst ihr SMD Lötaufgaben bewältigen. Die folgenden Artikel enthalten Tipps dazu.
- Elektronik – Mein Freund der Lötkolben
- Elektronik – THT Bauteile per Hand verlöten
- Elektronik – SMD Bauteile per Hand verlöten
Benötigtes Werkzeug:
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zum Aufbau benötigt.
Die benötigten Teile sammeln
Damit es mit dem Aufbau Eurer pxlBlck_CassetteLamp losgehen kann solltet Ihr zunächst alle benötigten Teile zusammensuchen.

Für den Aufbau der pxlBlck_CassetteLamp benötigt Ihr (unter anderem) die folgenden Teile.
- 8x halb-transparente Audio-Kassetten
- 1x Wemos D1 Mini 32x WS2812 oder SK9612 LEDs in 120LEDs/m länge
- 3x Leitung ca. 10cm lang
- 3D gedruckte Basis
- 3D gedruckter Montagerahmen
- 3D gedruckter Deckel (optional)
- 4x M3x10 Zylinderkopfschraube
- 8x M3 Mutter
- 4x M3x16 Zylinderkopfschraube

Weitere Ansicht der benötigten Teile.
Für diesen Beispiel-Aufbau habe ich die Basis aus Kork- bzw. Holz-Filament gedruckt. Ihr könnt hier aber natürlich auch jedes andere 3D druckbare Material nutzen.
Außerdem sind auf diesem Foto die Teile aufgeführt mithilfe dessen Ihr die Lampe mithilfe des Gestensensors APDs-9960 steuern könnt. So lässt sich das Licht über Gesten ein- und ausschalten, heller und dunkler dimmen und die Farbe verstellen.

Als alternative könnt Ihr die Lampe aber auch über zwei Drehencoder steuern.
So lässt sich die Lampe mit einem Stift einstellen. Das ist eine kleine „Hommage“ an die Kombination von Stift und Kassette welche einem früher oft beim aufrollen abgespulter Kassettenbänder geholfen hat. 🙂
Die STL-Dateien zum ausdrucken auf Eurem 3D Drucker findet Ihr im Repository für die pxlBlck_RingClock unter folgendem Link.
Den Montagerahmen anschrauben
Als erstes solltet Ihr mit der Vorbereitung des Montagerahmens beginnen.

Dazu benötigt Ihr die folgenden Teile.
- 4x M3x10 Zylinderkopfschraube
- 8x M3 Mutter
- 3D gedruckte Basis
- 3D gedruckter Montagerahmen
Die LED-Streifen aufkleben
Im folgenden Schritt werden die LED-Streifen auf der Basis montiert.

Dazu benötigt Ihr die vorbereitete Basis inkl. montiertem Montagerahmen und die vier LED-Streifen mit jeweils acht WS2812 oder SK9612 LEDs.

Achtet dabei und auch bei den folgenden LED-Streifen darauf, dass die kleinen Pfeile auf dem LED-Streifen immer in die gleiche Richtung zeigen.

Achtet auch hier wieder darauf, dass die Pfeile in die gleiche Richtung zeigen. In diesem Fall zeigen alle Pfeile gegen den Uhrzeigersinn.
LED-Anschlussleitung anlöten
Nachdem Ihr die LED-Streifen montiert habt, müsst ihr diese nun noch miteinander verlöten und auch eine Anschlussleitung anlöten. Dies ist aufgrund der kleinen Lötpad-Größe bei dieser Art von LED-Streifen nicht immer leicht. Deswegen solltet Ihr Euch für diesen Abschnitt ruhig etwas zeit nehmen. Tipps zum Umgang mit dem Lötkolben findet Ihr auch in den folgenden Artikeln.
- Elektronik – Mein Freund der Lötkolben
- Elektronik – THT Bauteile per Hand verlöten
- Elektronik – SMD Bauteile per Hand verlöten

Sucht nun das Lötpad auf dem LED-Streifen welches mit einem Minuszeichen gekennzeichnet ist und relativ nah an der Durchgangsbohrung in der 3D gedruckten Basis liegt.
Verzinnt dieses dann mit etwas Lötzinn. So fällt das Anlöten der Anschlussleitung später leichter.

Nun könnt Ihr auch eines der Lötpads die mit einem Pluszeichen gekennzeichnet sind mit etwas Lötzinn verzinnen.

Nachdem ihr die Lötpads vorbereitet habt, könnt Ihr mit dem anlöten der Leitungen beginnen. Lötet dazu zunächst die rote Leitung wie dargestellt an das mit einem Pluszeichen gekennzeichnete Lötpad.

Wiederholt diesen Schritt nun mit der Anschlussleitung für das mit einem Minuszeichen gekennzeichneten Lötpad.

Nachdem Ihr die Versorgungsleitungen angelötet habt, kann nun auch die Leitung für den Dateneingang an den LED-Streifen angelötet werden.

Verzinnt dazu den (auf dem Bild sichtbaren) oberen linken Kontakt der LED mit etwas zusätzlichem Lötzinn.
Die Leitung wird in diesem Beispiel direkt an die LED angelötet, weil dies etwas leichter zu verlöten ist verglichen mit dem sehr kleinen Lötpad am Anfang des LED-Streifens.

Nahansicht der angelöteten Leitung.
Wichtig ist hier, dass beim verlöten kein Kurzschluss mit den benachbarten Kontakten und Lötpads entsteht.
Außerdem solltet Ihr darauf achten, dass die Pfeile auf dem LED-Streifen von der Anschlussleitung „weg zeigen“.

Fertig verlötet könnt Ihr die Anschlussleitung nun auch durch das Loch in der Basis in die Basis führen.
LED-Streifen miteinander verlöten
Etwas kniffelig ist auch das verlöten der LED-Streifen untereinander. Auch hier solltet Ihr sorgfältig arbeiten und Euch lieber etwas mehr Zeit lassen. Achtet darauf, dass Ihr keine Kurzschlüsse mit benachbarten Kontakten herstellt und messt ggf. nochmal nach. 🙂

In diesem Schritt werden zunächst die mit einem Minus gekennzeichneten Kontakte miteinander verbunden.

Verlötet dazu wie gezeigt die mit einem Minuszeichen gekennzeichneten Lötpads der jeweils benachbarten LED-Streifen miteinander.

Wie zuvor solltet Ihr dazu die Kontakte an den LED-Streifen miteinander verbinden. Diesmal jedoch die mittleren Kontakte.
ESP8266 bzw. Wemos D1 Mini verbinden
Nachdem der Aufbau des LED-Streifens abgeschlossen ist, könnt Ihr den Mikrocontroller mit den LED-Streifen verbinden.

Dazu benötigt Ihr ein auf dem ESP8266-ESP12E basierendes Breakout-Board.
Ich empfehle hier das „Wemos D1 Mini“ zu verwenden.

Bereitet die Kontakte des Wemos D1 Mini dann mit etwas Lötzinn vor.
Verzinnt dazu die folgenden Kontakte mit etwas Lötzinn.
- G
- 5V
- D6

Nun könnt Ihr die erste Anschlussleitung an den Wemos D1 Min anlöten.
Verlötet dazu die schwarze Leitung mit dem Kontakt „G“ des Wemos D1 Mini.
Diese schwarze Leitung sollte die Leitung sein, welche Ihr zuvor mit dem mit einem Minus gekennzeichneten Kontakt an dem LED-Streifen verbunden habt.

Die rote Leitung sollte die Leitung sein, welche Ihr zuvor mit dem mit einem Plus gekennzeichneten Kontakt des LED-Streifens verlötet habt.

Letztendlich solltet Ihr die Signal-/Datenleitung des LED-Streifens mit dem Kontakt „D6“ des Wemos D1 Mini verlöten.
Option 1: APDS-9960 Gestensensor vorbereiten
Zur Steuerung der Farben und Helligkeit Eurer pxlBlck_CassetteLamp gibt es im Prinzip zwei Möglichkeiten. Die erste – hier beschriebene – funktioniert mithilfe des Gestensensors „APDS-9960“. Mithilfe dieses Sensors kann die Lampe durch Gestenbewegungen über der Lampe ein- und ausgeschaltet und auch in ihrer Farbe und Helligkeit verändert werden. Der Gestensensor funktioniert dabei je nach Umgebungshelligkeit recht zuverlässig. Manchmal erkennt er aber auch nicht jede Geste korrekt.
Weitere Informationen zum Anschluss des APDS-9960 Gestensensors an ESPeasy findet Ihr auch in dem folgenden Artikel.
Die andere Möglichkeit zur Ansteuerung wird über zwei Drehencoder realisiert. Infos dazu findet Ihr im Abschnitt Option 2: Drehencoder-Halterung vorbereiten

Für den Aufbau der Steuerung mithilfe des Gestensensors benötigt Ihr zunächst die abgebildeten Teile.

Um die Anschlussleitung vorzubereiten solltet Ihr nun die Enden ca. 5mm weit abisolieren und mit etwas Lötzinn verzinnen.

Zur korrekten Positionierung des Sensors, solltet Ihr diesen nun in der abgebildeten Halterung verbauen.

Dann könnt Ihr die Anschlussleitungen des Sensors wie abgebildet durch die Kabeldurchführung ziehen.
Option 1: APDS-9960 Gestensensor montieren
Nach der Montage des APDS-9960 Gestensensors auf der Halterung geht es nun daran die Halterung auf der Basis der Lampe zu montieren und zu verschrauben.

Verlötet dazu die rote Leitung des Sensors mit dem Kontakt „3V3“ des Wemos D1 Mini.
Außerdem solltet Ihr die schwarze Leitung mit dem Kontakt „G“ des Wemos D1 Mini verbinden.
Achtet darauf, dass die rote Leitung mit dem Kontakt „VCC“ und die schwarze Leitung mit dem Kontakt „GND“ des Sensors verbunden ist.

Die letzten beiden Leitungen des Sensors sind für die I2C Kommunikation mit dem Wemos D1 Mini zuständig.

Verlötet dazu die blaue Leitung (Sensor SCL) mit dem Kontakt „D1“ und die grüne Leitung (Sensor SDA) mit dem Kontakt „D2“ des Wemos D1 Mini.
Kassetten auf dem Montagerahmen anbringen
Nach der Montage des Gestensensors könnt Ihr nun die Kassetten an der Lampe montieren.

Dazu benötigt Ihr die vorbereitete Basis der Lampe und acht halb-transparente Kassetten.
Ihr könnt natürlich auch Kassetten mit weniger Transparenz verwenden. Kombiniert hier wie es Euch am besten gefällt.

In den folgenden Schritten werden die Kassetten mit etwas Heißkleber am Montagerahmen befestigt.
Achtet dabei darauf, dass die Kassetten jeweils versetzt auf den Rahmen geklebt werden.

Die nachfolgenden Kassetten könnt Ihr nun auf die gleiche Weise miteinander und dem Montagerahmen verkleben.

Verklebt nun auch die die „nächste Etage“ der Kassetten auf die zuvor dargestellte Weise mit dem Montagerahmen.
Option 2: Drehencoder-Halterung vorbereiten
Die zweite Option zur Steuerung der pxlBlck_CassetteLamp besteht aus zwei Drehencodern, welche so montiert werden, dass sie von außen mithilfe eines Stifts gesteuert werden kann. So lassen sich die Helligkeit und Farbe der Lampe einstellen.

Dazu benötigt Ihr die links dargestellten Komponenten.
- 2x Drehencoder
- 2x M3 Gewindeeinsatz
- 2x M3x16 Senkkopfschraube
- 8x Leitung ca. 10cm lang in verschiedenen Farben
- 2x Leitung ca. 3cm lang
- 1x 3D gedruckte Halterung
- 2x 3D gedruckter Encoder-Aufsatz
- 1x Halterungs-Klemme
- ca. 20cm Schrumpfschlauch passend zum Leitungsdurchmesser


Zum Anschluss der Masse an die Drehencoder solltet Ihr die vier schwarzen Leitungen wie abgebildet vorbereiten.

Verbindet dazu jeweils die kurze schwarze Leitung mit der langen schwarzen Leitung und isoliert die Enden jeweils 5mm weit ab.

Ansicht der angeschlossenen Leitungen.
Wichtig ist hierbei, dass Ihr vor dem Lötvorgang daran denkt Schrumpfschläuche über die Leitungen zu ziehen. So lassen sich die blanken Kontakte später leicht isolieren.

Um die Drehencoder später auf der Basis der Lampe montieren zu können solltet Ihr nun die Drehencoder-Halterungs-Klemme vorbereiten.

Dann könnt Ihr auch die Drehencoder wie auf dem Bild dargestellt in die Drehencoder-Halterung einsetzen und fest verschrauben.
Option 2: Drehencoder-Halterung montieren
Nach der Vorbereitung der Drehencoder-Halterung wird diese nun mit der Basis der Lampe verschraubt.

Dazu benötigt Ihr die folgenden Teile.
- Vorbereitete Drehencoder-Halterung inkl. Drehencoder
- Drehencoder-Halterungs-Klemme
- 2x M3x16 Senkkopf- oder Zylinderkopfschrauben
- Die vorbereitete Basis

Die Drehencoder-Halterung sollte nun wie abgebildet montiert werden.
In dem gezeigten Beispiel habe ich dazu nochmal den Montagerahmen zur Befestigung der Kassetten entfernt. So hat man mehr Platz und die erste Befestigung fällt leichter.

Zur Montage wird die Drehencoder-Halterung wie gezeigt auf die Basis gestellt und dann mit den M3 Schrauben und der Drehencoder-Halterungs-Klemme verschraubt.
Achtet darauf die Schrauben noch nicht komplett fest zu ziehen, da Ihr die Halterung später noch korrekt ausrichten müsst.

Nach der Befestigung der Drehencoder-Halterung könnt Ihr auch die Encoder-Aufsätze auf die Achsen der Drehencoder stecken.

Nun könnt Ihr den Montagerahmen inkl. Kassetten wieder auf der Basis aufsetzen und mit dieser verschrauben.

Die Drehencoder-Halterung kann nun korrekt ausgerichtet werden.
Dazu sollten die Encoder-Aufsätze genau vor den Löchern in den Kassetten-Gehäusen stehen.

Die Drehencoder-Halterung lässt sich dazu ach Links und Rechts verschieben.
Sobald Ihr die richtige Position gefunden habt, könnt Ihr die Halterung mit den Schrauben fest verschrauben.

Als weitere Orientierung zum Anschluss der Drehencoder könnt Ihr auch den Schaltplan (siehe Oben) nutzen.
Firmware programmieren
Nach dem Aufbau der pxlBlck_cassetteLamp müsst Ihr nun noch ESPEasy inklusive pxlBlck-Plugin auf dem ESP8266 installieren. Wie Ihr dabei vorgehen könnt ist in folgendem Artikel beschrieben.
pxlBlck-Plugin konfigurieren
Nach der Installation der Firmware müsst Ihr das Plugin noch korrekt konfigurieren. Infos dazu findet Ihr ebenfalls in dem Artikel pxlBlck – Das pxlBlck-Plugin installieren und konfigurieren.
Als zusätzliche Orientierung könnt Ihr aber auch die Einstellungen aus dem hier gezeigten Screenshot übernehmen oder einfach die vorbereiteten Konfigurationen laden. Infos dazu findet Ihr im nächsten Abschnitt.

Beispielkonfiguration laden
In dem Artikel ESPEasy – Zugangspasswort einrichten, Konfigurationen sichern und wiederherstellen ist beschrieben wie ihr eine Konfigurationsdatei auf Euer ESPEasy-Gerät übertragen könnt. Konfigurationsdateien welche bereits die komplette Konfiguration für die pxlBlck_CassetteLamp enthalten könnt Ihr unter folgendem Link finden.
Konfiguration der Rules zur Nutzung mit dem APDS-9960 Gestensensor
Damit eine erkannte Geste am Gestensensor auch zu einer Änderung des Lichts an der Lampe führt müsst Ihr die Rules entsprechend konfigurieren. Wenn Ihr die Beispiel Konfiguration aus dem vorherigen Schritt geladen habt, müsst Ihr dies nicht mehr machen. Wenn ihr die Rules jedoch manuell einfügen wollt, findet Ihr sie hier.
On gesture#Light do
pbbr,0,[gesture#Light],1,1,15,
endon
Konfiguration der Rules zur Nutzung mit den Drehencodern
Auch Betätigungen der Drehencoder werden erst über Rules mit den Einstellungen des pxlBlck_plugins verknüpft. Nur so führt eine Betätigung der Drehencoder auch zu einer Änderung des Lichts an der Lampe. Wenn Ihr die Beispiel Konfiguration aus dem vorherigen Schritt geladen habt, müsst Ihr dies nicht mehr machen. Wenn ihr die Rules jedoch manuell einfügen wollt, findet Ihr sie hier.
on encoder_right#Counter do
pbbr,0,[encoder_right#Counter],1,1,15,
endon
on encoder_left#Counter do
pbclrwhl,4,[encoder_left#Counter],1,
endon
on encoder_left_button#State=1.00 do
pbbo,1,2,
endon
on encoder_right_button#State=1.00 do
pbclr,0,255,255,255,
endon


Einstellung der Displayhelligkeit konfigurieren
Ihr könnt den gemessenen Helligkeitswert des APDS-9960 auch dazu verwenden die Helligkeit der Lampe automatisch an die Umgebungshelligkeit anzupassen. Wie Ihr ESPEasy dazu konfigurieren könnt ist in dem folgenden Artikel beschrieben.
pxlBlck-Usecases
Unter dem Tag „pxlBlckUsecase“ sind Artikel aufgelistet in denen Ihr Beispiele zur Verwendung findet. Darin ist auch erklärt wie Ihr Euren pxlBlck dazu konfigurieren müsst.
Animationen, Icons und Befehle
Weitere Infos zur Anzeige von Animationen, Icons und zu den möglichen Befehlen mit denen Ihr Euren pxlBlck konfigurieren könnt, findet Ihr auch in den folgenden Artikeln.
- pxlBlck – Animationen konfigurieren und anzeigen
- pxlBlck – Icons designen, auf den pxlBlck übertragen und anzeigen
- pxlBlck – Befehle zur Konfiguration des pxlBlck
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Hallo !
Ersteinmal „Tolles Projekt“
Da meine Frau ein absoluter Retro Fan ist wird das ein Geschenk für Sie. Bin noch am Anfang. Der 3D-Drucker läuft und die Teile sind bestellt.
Aber in der Rubrik „Beispielkonfiguration laden“ steht das man eine passende Konfiguration per Link runter laden kann. Entweder bin ich blind oder dieser wurde einfach vergessen ?
Gruß Dirk
Hi Dirk,
du hattest vollkommen recht. Habe den Link gerade nachgetragen.
Viel Spaß beim bauen. 🙂
Beste Grüße
Fabian
Ok Danke. Nur der Vollständigkeithalber:
Der Link für die Druckdateien geht nach https://github.com/Nerdiyde/pxlBlck/tree/main/platform/pxlBlck_RingClock
Falsches Verzeichniss. Sollte:
https://github.com/Nerdiyde/pxlBlck/tree/main/platform/pxlBlck_CassetteLamp
sein.
Hi Dirk,
danke für den Hinweis. Habe die Stelle korrigiert. 🙂
Beste Grüße
Fabian