050317_1802_TinkeringTu1.jpg

Tinkering Tuesday – HUEify – PWM to RGB LED strip driver Board

Today I want to show you the board that I created in order to drive 4 RGB LED strips from 16 PWM outputs of the Arduino Mega. It is not the best design as this is my first board and I began without really knowing how to connect the strips in the end 😉 This board connected to the Arduino Mega controlled by the output of the JN5168 will then be the final solution to integrate light in to our nightstands.

I built the design in fritzing so let’s have a look at it:

  • J3, J5, J7, J9 are the connectors (male pin headers) for the PWM pins from the Arduino Mega
  • J2, J4, J6, J8 are also male pin headers to connect the RGB strips
  • J1 ist the input for the external power source (5V in my case) also as male pin headers
  • J22 are additional ground pins to connect the ground from the Arduino (I connected three because you never know…)
  • Q1 – Q12 are MOSFETs, in my case BUZ11

On the board I put all ground connections to the second PCB side (orange) so the connections are clear.

When I had already started soldering the board I thought about how I wanted to connect the RGB strips in the final setup and I decided to go with commonly available 4 wire RGB strip cable (can be found on ebay) and connect it via screw terminals. I was not able to change the design I already started so I just added another board (in the end I had enough space on the same board) which had four 4-pin headers again directly connected to four 4-output (okay, it’s eight 2-output) screw terminals:

I did not put much effort in making the fritzing pretty so the schematic view is a real mess and in the breadboard view I just used perfboard without any wire connections. So essentially just use the PCB view. It should be obvious. Anyway I would modify the board to make direct connections to the screw terminals if you want to use it. But it is working now and it is my first completely self designed and soldered board J

You can download the fritzing file here: 16PWMIn_4RGBOut

This is the progress with the first working module (I already showed a work in progress version in the previous post):

This is the final board including all terminals and pin headers. I even have space to include the logic level converter (LLC) that I need for the JN5168. This way I can directly connect the grounds all on this board. This is not yet soldered because I ran out of solder wire.

This is the board connected to the Arduino and currently directly from the pin headers to the RGB strips.

I put together a small sketch that activates the colors one after the other on all 4 strips. You can download it here: Arduino_Mega_4_RGB_Strip_Color_Test

This is a video of the Arduino Mega controlling all 4 strips via PWM signals from 16 pins:

Next task is to solder the LLC and reconnect the JN5168. Then I have to prepare the wires to connect from the screw terminals to the RGB strip (needs a little soldering and heat shrink tubing). This will then suffice to control all 4 strips with the same setting (one endpoint) but the final piece will then be to create 4 endpoints on the JN5168 to control the 4 strips independently.

022517_1401_TinkeringTu5.jpg

Tinkering Tuesday – Philips Hue und DIY Beleuchtung unseres neuen Bettes

Philips Hue

Ich bin schon seit einiger Zeit Fan des Philips Hue Ökosystems und hab mit bei diversen Angeboten bei www.notebooksbilliger.de und www.amazon.de oder über Käufe von Bekannten schon einiges zugelegt:

Zur Steuerung und Einrichtung nutze ich hauptsächlich die App all4hue, da diese eine erweiterte Belegung der Dimming Switches ermöglicht (man kann jeden der 4 Knöpfe neu belegen und auch Funktionen für „Taste gedrückt halten“ vergeben).

Aufgeteilt sind die Lampen im Wohnzimmer und im Schlafzimmer mit jeweils einem Dimmer Switch zu steuern (das erhöht den WAF, women acceptance factor, um 100%).

Unser neues Bett

Unser neues Bett im Möbelgeschäft mit Nachtkonsolenbeleuchtung
Unser neues Bett im Möbelgeschäft mit Nachtkonsolenbeleuchtung

Nun haben wir uns allerdings ein neues Bett gekauft. Dieses hat eingebaute Nachtschränke mit Glasrückwand. Auf dem folgenden Foto sieht man, dass diese auch beleuchtet werden können. Allerdings sind die Preise dafür ziemlich unverschämt. Für die weiße Beleuchtung werden schon 316 Euro fällig, für die Version mit Farbwechsler stolze 585 Euro.

Das war es uns natürlich nicht wert für so ein bisschen LED Licht (das natürlich nicht mal mit Hue kompatibel ist).

Glücklicherweise haben die Monteure beim Aufbau des Bettes vergessen die Abschlussleisten bei den Nachtkommoden zu montieren, sodass man einen guten Blick ins Innere werfen konnte. Dort ist ganz einfach zwischen der Befestigung für den eigentlichen Schrank und den Glasrückwänden ein wenig Platz, in den dann die LEDs hineingeschoben werden können. Zusätzlich ist noch ein kleiner Ausschnitt für die Elektronik mit Loch für die Kabeldurchführung auf der Rückseite:

Platz für LED Strips in der Nachtkonsole
Platz für LED Strips in der Nachtkonsole
Auslass für Kabel hinten an der Nachtkonsole
Auslass für Kabel hinten an der Nachtkonsole

DIY Nachtschrankbeleuchtung

Erster Gedanke: Hue Lightstrip rein und gut. Leider sind die zu breit. Das Glas ist gerade mal knapp 12mm stark, daher ist der Lightstrip mit seinen 13mm zu breit. Auch die Höhe ist mit knapp 2,5mm nicht sonderlich großzügig bemessen. Im Internet recherchiert und mal den Osram Lightify LED Strip bestellt, der sollte genau 12mm breit sein. Er ist aber etwas breiter, deswegen passt auch dieser nicht.

Also hab ich mich schonmal von dem Gedanken verabschiedet das Hue Kompatibel hinzubekommen (das bleibt aber nicht so! Dazu mehr im nächsten Beitrag) und mir im Blitzangebot bei Amazon einen LED Strip von Yorbay besorgt, der eigentlich als TV Hintergrundbeleuchtung gedacht ist. Dieser hat vordergründig erstmal 3 Vorteile:

  1. Er ist nur 10mm breit, sodass er in den Schrank passt
  2. Es sind insgesamt 4 Teilstücke von jeweils 30cm enthalten inkl. Verbindungsstücken und -kabeln, was bei einer Nachttischlänge von 60cm perfekt ist (2 für oben, 2 für unten)
  3. Er hat eine integrierte Schaltung, die per IR Fernbedienung gesteuert werden kann. IR Fernbedienungen durch einen Raspberry oder Arduino zu ersetzen ist kein Problem
Yorbay LED TV Hintergrundbeleuchtung
Yorbay LED TV Hintergrundbeleuchtung

Leider ist die Höhe der vorgesehenen Schlitze im Nachttisch nicht gleichmäßig, weswegen ich ihn nochmal auseinander bauen werde um ein wenig Material vom Pressspan abzutragen. Im Moment geht der Strip aufgrund der Höhe nur an der linken Seite oben halb rein und auf der rechten Seite unten vollständig. Wegen der Verkabelung muss ich die Nachttische aber eh nochmal vom Bett abbauen, dann kann ich auch die Rückseite nochmal abnehmen.

Aber die Lichtausbeute sieht als Akzent und dezente Nachts-aufs-Klo-geh-Beleuchtung ganz gut aus:

Yorbay LED TV Hintergrundbeleuchtung unten in der Nachtkonsole
Yorbay LED TV Hintergrundbeleuchtung unten in der Nachtkonsole
Yorbay LED TV Hintergrundbeleuchtung oben in der Nachtkonsole (nur zur Hälfte)
Yorbay LED TV Hintergrundbeleuchtung oben in der Nachtkonsole (nur zur Hälfte)

Nun habe ich also zwei von diesen Sets, die beide per IR Fernbedienung gesteuert werden. Das ist als Nachttischschalter natürlich erstmal blöd. Also zunächst mal geschaut, wie man einen RGB-Strip per Arduino steuern kann. Da es sich um einen Strip mit Common Anode handelt, kann man allen Anleitungen folgen, die einen Strip (mit nicht einzeln ansteuerbaren LEDs) ansteuern, z.B. https://learn.adafruit.com/rgb-led-strips/usage. Da es sich um einen 5V Strip handelt könnte man ihn sogar direkt vom Arduino mit Strom versorgen. Ist mir bei insgesamt 2,4m aber wahrscheinlich etwas zu heiß. Außerdem sind ja entsprechende Netzteile dabei, die man nutzen kann und damit ggf. sogar den Arduino betreiben kann.

Die Stromaufnahme habe ich testweise mal mit 3 AA Batterien, also 4,5V durchgemessen (ich bin noch etwas unsicher mit dem Multimeter und wollte mir keinen USB-Port oder ein Netzteil zerschießen, daher lieber Batterien) und komme bei voller Helligkeit aller 3 Farben auf 57mA für einen 30cm Strip. Macht also wenn man es stupf aufaddiert schon rund 450mA für alle Strips. Die USB-Versorgung eines Arduinos ist ja meist bei 500mA max, daher werde ich das auf jeden Fall mit einem zusätzlichen Stromkreis lösen, so wie z.B. unter http://www.jerome-bernard.com/blog/2013/01/12/rgb-led-strip-controlled-by-an-arduino/ beschrieben. Dazu müssen aber auch noch die entsprechenden Transistoren oder MOSFETs her. Da wird ein Besuch im örtlichen Conrad fällig. Nach unserem Umzug leider nicht mehr direkt um die Ecke.

Unter http://musicdiver.com/wordpress/2013/11/rgb-led-ketten-mit-arduino-web-gui-steuern/ gibt es übrigens auch einen Post über ein Ähnliches Vorhaben mit dem 12V 5m LED Strip von Yorbay. Auch absolut lesenswert.

Der Hue Lightstrip ist übrigens stattdessen hinter dem Bett gelandet und macht sich da ganz gut zusammen mit dem auf dem Pax-Schrank und dem Bloom in der Ecke (der war über und kommt wahrscheinlich noch woanders hin).

Alles steuerbar über den Dimmer Switch, der direkt über dem Lichtschalter angebracht ist:

Philips Hue Dimmer Switch über normalem Lichtschalter
Philips Hue Dimmer Switch über normalem Lichtschalter

Außerdem gibt es seit neuestem auch einen Amazon Dash Button, der auf dem Nachttisch liegt und das Licht im Schlafzimmer schalten kann. Dazu gibt es am Donnerstag mal wieder einen Programming Pursday.

Amazon Dash Button zur Philips Hue Steuerung
Amazon Dash Button zur Philips Hue Steuerung

Am nächsten Tinkering Tuesday geht es dann erstmal um die verschiedenen Möglichkeiten das Ganze (bzw. generell Licht oder andere Dinge) doch noch an das Hue System anzubinden. Da gibt es so einige Wege, die ich zumindest einmal anreißen möchte, bevor ich dann eine (wahrscheinlich die komplizierteste) ausprobieren werde. Dafür müssen aber erstmal die Teile ankommen. Es wird natürlich noch einen weiteren Beitrag geben, wie die Strips dann letztlich im Bett landen, dazu muss ich aber mal die Muße haben die Konsolen auseinander zu schrauben. Dazu muss es draußen wieder wärmer werden, damit ich mir beim Schleifen nicht die Finger abfriere.