LEDs und WS2812
Wer mit Hardware bastelt, kann mit blinkenden und leuchtenden Anzeigen nicht nur schöne Effekte erzeugen und Aufmerksamkeit gewinnen. LEDs sind auch unverzichtbare Hilfsmittel zur Anzeige eines Status, z.B. durch Blinken, sondern die Ausgabe oder Anzeige selbst ist oft der Zweck einer Schaltung.
LED Grundlagen
Ehe sie aber LEDs einfach an eine Stromversorgung hängen, sollten Sie eine Grundregel wissen:
LED nie ohne Stromsteuerung, z.B. Vorwiderstand, betreiben! Sie werden beim Leuchten niederohmig und ohne Wiederstand steigt der Strom sehr schnell an und verbrennt die LED.
Ein Glühbirnchen ist ein sehr genügsames Bauteil. Es hat einen festen Widerstand und wenn mehr Spannung anliegt, dann steigt der Strom entsprechend mit an. Der Widertand erhöht sich sogar noch, wenn der Glühfaden warm wird. Wenn die Spannung ansteigt ist dann wird mit erhöhtem Widerstand der Strom proportional weniger schnell steigen. Ein Glühfaden kann natürlich auch durchbrennen aber er ist nicht "kritisch"
Eine LED aber funktioniert komplett anders. Es ist ein Halbleiter, der bei Erreichen der Durchflussspannung sehr niederohmig wird. Das ist schon fast ein Kurzschluss. Wer also eine LED mit einer Spannung betreibt, bei der sie leuchtet, und den Strom nicht begrenzt, verheizt sie in Sekundenbruchteilen. Eine entsprechende Schaltung muss den Strom begrenzen, d.h. immer wenn der Strom zu hoch wird, muss ein anderes Bauteil den Strom begrenzen oder die Spannung soweit reduzieren, dass die LED grade nicht mehr niederohmig ist. Es ist quasi der Tanz auf der Klinge. So eine Steuerung ist aber sehr billig zu realisieren. Ein einfacher ohmscher Widerstand in Reihenschaltung genügt und das ist ganz einfach zu erklären.
Wenn in der Schaltung die LED durchlässig wäre, also 0 Ohm hätte, dann würde die komplette Spannung am Wiederstand anliegen und der ohmsche Widerstand bestimmt den fließenden Strom ( I=U/R). Der Strom kann also nicht endlos hoch sein. Wenn dann an der LED aber 0 Volt abfallen, dann leuchtet sie nicht aber ist auch nicht durchlässig. Die LED hat also einen gewissen Widerstand womit aber auch eine Spannung an ihr abfällt. Die Spannung wird sich genau dort einpendeln, wo die LED gerade leuchtet aber der Widerstand noch hoch genug ist, damit die Spannung das Leuchten am Leben erhält. Das ist ein Regelkreis und je nach Eingangsspannung und der LED-Betriebsspannung bemisst sich der Vorwiederstand.
Kommen Sie nun aber nicht auf den Gedanken auf den Widerstand zu verzichten und genau die LED-Betriebsspannung anzulegen. Zwischen LED gibt es bauartbedingt immer Toleranzen und selbst die Farbe einer LED ist relevant. Der Tick ist also einen konstanten Strom zu gewährleisten.
Die meisten LEDs sind bei ca. 20mA am hellsten. Ein paar mA mehr oder weniger sind tolerierbar. Es gibt aber auch "Low Current"-LEDs, die auch schon bei 2mA anfangen zu leuchten, wenngleich nicht in voller Helligkeit. Damit ist aber auch klar, dass eine Reihenschaltung nicht nur stromsparender sondern auch ehe die gleiche Leuchtstärke sicherstellt als eine Parallelschaltung. Allerdings gibt es auch hier mehrere gute und schlechte Optionen:
Die beiden grünen Schaltungen sind aus Sicht der Bauteilersparnis aber auch Energieersparnis am besten. Die rote Variante verbietet sich bei unterschiedlichen LEDs mit unterschiedlichen Durchlassspannungen da dann die LED mit der niedrigsten Durchlassspannung den meisten Strom verkraftet und verbrennt oder zumindest deutlich heller ist. Die blaue Variante ist möglich aber bedeutet nicht nur mehr Bauteile sondern auch einen dreimal so hohen Energieverbrauch, bei dem die Widerstände Wärme abgeben. Die Reihenschaltung rechts ist daher zu bevorzugen, solange die Betriebsspannung ausreicht und alle LEDs den gleichen Strom benötigen. Eine Kombination von "Low Current"-LEDs mit ca. 2mA und klassischen LEDs mit ca. 20mA geht natürlich nicht..
Beim Einsatz von 3,3V wird es mit Betriebsspannungen von 1,7-2,5V pro LED natürlich nicht mit Reihenschaltungen.
- Leuchtdiode
https://de.wikipedia.org/wiki/Leuchtdiode - Widerstand einer Glühbirne
https://systemdesign.ch/wiki/Widerstand_einer_Gl%C3%BChbirne - 2.6 Vorwiderstände und Innenwiderstand
http://www.elexs.de/kap2_6.htm - LED - Leuchtdioden
https://www.elektronik-kompendium.de/sites/bau/0201111.htm
Einfache RGB-LEDs und Bändern
Interessant wird das ganz natürlich mit Farbe und in jedem Baumarkt finden sich mittlerweile LED-Bänder mit verschiedenen LEDs, die auch noch entsprechend angesteuert werden. Allerdings gibt es dabei zwei Typen zu unterscheiden:
- RGB-Bänder mit getrennter Ansteuerung je Farbe
Neben der Masse sind hier Rot, Grün und Blau als eigene Leitung herausgeführt. Damit sind zwar alle Farbmischungen möglich aber das ganze Band hat immer die gleiche Farbe. Für Möbelinstallation reicht das natürlich aus. Allerdings sind alle LEDs auch parallel ausgeführt, denn um 100 LEDs mit 20mA zum Leuten zu bringen, müssten 170-250V anliegen und die Bänder könnten nicht überall gekürzt werden. Hier wird also schon mit entsprechende hohen Strömen gearbeitet.
Das Band auf dem Bild nutzt 12V und jede Farbe hat pro Segment einen Vorwiderstand. Manchmal gibt es auch noch eine extra Leitung und LED für die Farbe Weiß. - RGB-Bänder mit digitaler Ansteuerung
Diese Bänder werden meist mit 5V betrieben und haben nur drei Anschlüsse. Über den mittleren "Datenanschluss" wird die Farbe digital (z.B. 3x 8 Bit) signalisiert. Jede LED gibt die Signale mit dem nächsten Takt weiter, so dass eine Software seriell die Farben quasi "durchschiebt. Die Steuerung der LEDs übernimmt dann der kleine schwarze Chip. Bekannte bezeichnungen sind WS2811 und WS2812
Für Raumbeleuchtungen reichen also die ersten günstigeren LEDs aus, während für eine individuelle Ansteuerung von LEDs die intelligenten Bänder den Vorzug erhalten sollten. Wie so häufig in der Do it Yourself -Szene gibt es für die Ansteuerung schon fertige Bibliotheken, die auch eine gute Quelle für kompatible LED-Bänder sind.
(DEPRECATED) 595 style shift registers - http://www.usledsupply.com/shop/rgb-32-spi-dmx-decoder.html (DEPRECATED) hl1606 based led strips - http://bliptronics.com/item.aspx?ItemID=83 (DEPRECATED) lpd6803 based led pixels - http://bliptronics.com/item.aspx?ItemID=86 tm1809 based led strips tm1804 based pixels ws2801 based led strips and pixels lpd8806 based led strips - https://www.adafruit.com/products/306 ucs1903 based led strips sm16716 chipset - e.g http://www.amazon.com/gp/product/B00BI0CS4W support für the ws2811 chipset
Mittlerweile haben sich aber wohl zwei Modelle durchgesetzt. Achten Sie dennoch beim Einkauf auf die Details. Hier sehen Sie ein Modell, in dem die LEDs wohl 6 Anschlüsse und es ein gesondertes IC gibt. Es kann ein diskreter Aufbaue eines WS2811 sein
Es kann aber auch ein gänzlich unbekannter Chip sein, der da im Baumarkt verkauft wird.
WS2812B/WS2811 und SK6812RGBW
Wenn Sie im Internet und verschiedenen Marktplätzen suchen, dann stoßen Sie fast immer auf diese beiden Bezeichnungen. WS2812B ist der Chip samt LEDs in einem Gehäuse und WS2811 ist der Chip alleine zum selbst verlöten. Eine zusätzliche weiße LED enthält der SK6812RGBW.
Diese Streifen sind natürlich aufwändiger und teurer als einfache RGB-Bänder. Dafür können Sie hier jede Farbe jeder LED einzeln ansteuern. Alle Chips sind dabei hintereinander geschaltet und werden mit Energie versorgt. Eine Datenleitung verbindet den vorherigen LED-Baustein mit dem Nachfolger
Zur Ansteuerung werden dann seriell 3x 8 Bit, also 24bit für die Farben R/GB eingeliefert und von der ersten LED angezeigt. Die nächsten 3 Bit werden von der LED aber einfach durchgereicht und von der zweiten LED ausgewertet. Die nächsten 24Bit werden von der ersten und zweiten LED durchgereicht und landen so bei der dritten LED. Erst wenn zwischen den Paketen eine Pause von ca. 50uμs liegt, fängt das Spiel von vorne an. Die Übermittlung eines einzelnen Bit dauert 1,25μs, d.h. 30 µs pro LED.
- WS2812 Ansteuerung
https://www.mikrocontroller.net/articles/WS2812_Ansteuerung - WS2811 Datenblatt
https://cdn-shop.adafruit.com/datasheets/WS2811.pdf - WS2812B Datenblatt
https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf
Wer ohne flackern mit 25 Updates/Sek arbeiten will, darf nicht mehr als 40ms pro Lauf verbrauchen. Bei 50µs Reset-Zeit bleiben also noch bleiben also 40.000µs -50 = 39950µs für LEDs. 30µs/Led ergibt also 1331 LEDs zur Ansteuerung bei einer Baudrate von 33,333bit/Sek. Nur gut, dass es entsprechende Libraries für die verschiedenen Bastelbausteine gibt:
- Adafruit_NeoPixel library
Arduino Library Use
https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use - FastLED Animation Library
http://fastled.io/ - Von Erleuchtungen und Lichterketten
https://www.heise.de/developer/artikel/Von-Erleuchtungen-und-Lichterketten-3277261.html - WS2812 – Der einfachste Weg, viele LEDs
mit Arduino steuern
https://www.arduino-tutorial.de/viele-leds-mit-arduino-steuern-ws2812/ - How To: Serielle Ansteuerung von
RGB-LEDs WS2811/WS2812/
http://chrisdruckt.de/2017/05/09/how-to-serielle-ansteuerung-von-rgb-leds-ws2811-ws2812/ - CHEATING AT 5V WS2812 CONTROL TO USE
3.3V DATA
https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/
Das Bild hier fand ich so beschreibend, um einen 5V WS2812B Strip an meinem Wemos zu hinterlegen, dass ich es mir mal hier gesichert habe.
Manchmal verschwinden ja Seiten auch wieder im Internet. - Adafruit: Powering NeoPixels
https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels - NEOPIXEL AM ARDUINO BETREIBEN
https://fremdgesteuert.net/neopixel-am-arduino-betreiben/ - WS2812B/WS2813 LED-Stripes
https://www.kriwanek.de/index.php/de/homeautomation/esp8266-ger%C3%A4te/wemos-ger%C3%A4te/579-ws2812b-ws2813-led-stripes - RGB-LED-Modul WS2812B ("NeoPixel")
https://elektro.turanis.de/html/prj077/index.html - DP1903 WS2811 50 Stück RGB LED IP66
Adalight Boblight Christbaumbeleuchtung
https://www.roboter-bausatz.de/2270/dp1903-ws2811-50-stueck-rgb-led-ip66-adalight-boblight-christbaumbeleuchtung - 1 Meter WS2812B LED Strip WASSERDICHT
5050RGB DC5V 60LEDs/m
https://www.roboter-bausatz.de/4091/1-meter-ws2812b-led-strip-wasserdicht-5050rgb-dc5v-60leds/m
Vergleichen Sie nicht nur die Preise, denn nicht nur das Lieferland (Deutschland; EU, China) machen einen Unterschied sondern auch Wasserdicht/innen und vor allem die "LED pro Meter) sind durchaus variabel.
Libraries
Die Ansteuerung der LED mit einem Bitstrom macht heute keiner mehr von Hand. Dafür gibt es mehrere Libraries, mit denen Sie diese LEDs ansteuern können.
ESP32 #38: NeoPixel (WS2812b) Library
Contest
https://www.youtube.com/watch?v=5nvAmingjUA
- Adafruit Neopixel
https://GitHub.com/adafruit/Adafruit_NeoPixel - FastLED
https://GitHub.com/FastLED/FastLED
Wird z.B. von http://arduino.esp8266.com/Arduino/versions/2.3.0/doc/libraries.html#other-libraries-not-included-with-the-ide verlinks - light_ws2812
http://cartearduino.ro/v1/link37.0 - kitesurfer1404/WS2812FX
https://GitHub.com/kitesurfer1404/WS2812FX
Library mit vielen vordefinierten LED-Animationen - Aircoookie/WLED
https://GitHub.com/Aircoookie/WLED/wiki
ESP32 Firmware
Fertige Firmware
Nicht immer müssen sie selbst alles programmieren. Die große Verbreitung des ESP8266/ESP32 hat zu ganz vielen fertigen Lösungen geführt, die sie nur noch flashen müssen. Meist startet dann der ESP als Access-Point zur Erstkonfiguration um sich dann in ihre Haus-LAN einzubinden. Alles andere geht dann per Webseite oder vielleicht auch REST, MQTT etc.
- Aircookie WLED
https://GitHub.com/Aircoookie/WLED
Binaries https://GitHub.com/Aircoookie/WLED/releases - WLED – Mit überschaubarem Aufwand zum
perfekten LED-Controller
https://www.meintechblog.de/2021/04/wled-mit-ueberschaubarem-aufwand-zum-perfekten-led-controller/
Adressierbare LED Strips mit WLED
ansteuern (SK6812) - Grundlagen | haus-automatisierung.com
[4K]
https://www.youtube.com/watch?v=GfSvnVixAfs
230V LEDs
Nun reicht manchmal ja die kleine LED auf dem Eigenbau-Board nicht aus und es darf etwas "mehr" sein. Warum nicht einfach eine Ansteuerung für 230V bauen?
Bitte arbeiten Sie nicht ohne entsprechende Kenntnisse mit Spannungen über 25 Volt. Vor allem, wenn es gar nicht erforderlich ist
Bei Spannungen unter 25 Volt AC oder 60 Volt DC kann
gänzlich auf einen Schutz gegen Berühren verzichtet werden; diese Spannungen
gelten auch für Tiere und Kinder als ungefährlich
Quelle
https://de.wikipedia.org/wiki/Kleinspannung
Es gibt nämlich schon massenhaft fertige Module, die sie problemlos auch umprogrammieren können. Gerade der Siegeszug des ESP8266-Chips ist hier "Schuld" daran, dass vermutlich jede LED mit E27 Sockel im Innern einen ESP8266 zur Ansteuerung verwendet. Leider ist der Markt hier sehr veränderlich, so dass es immer neue Geräte gibt und andere verschwinden. Es kann sogar sehr sinnvoll sein, die eingebaute Firmware durch eine Eigenentwicklung zu ersetzen.
- ESP8266 3rd Party Firmware
- 35C3: Über die "smarte" Glühbirne das
Heimnetzwerk hacken
https://www.heise.de/newsticker/meldung/35C3-Ueber-die-smarte-Gluehbirne-das-Heimnetzwerk-hacken-4259891.html - Smart-Home-Hack: Tuya veröffentlicht
Sicherheits-Update
https://www.heise.de/newsticker/meldung/Smart-Home-Hack-Tuya-veroeffentlicht-Sicherheitsupdate-4292028.html
Weitere Links
- Updating the firmware of the ESP8266
https://hackaday.io/project/3250-cypress-psoc-4-esp8266-ws2812-rgb-xmas-lights/log/10830-updating-the-firmware-of-the-esp8266 - CHEATING AT 5V WS2812 CONTROL TO USE 3.3V DATA
https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/ - Frage zum Digital RGB Stripe vom Aldi
http://www.mikrocontroller.net/topic/287726 - RGB LED strips: an overview
http://nut-bolt.nl/2012/rgb-led-strips/ - Mein Paket… …ein RGB-LED-Streifen mit WS2812B Controller :-)
http://arduino-hannover.de/2013/12/11/mein-paket-ein-rgb-led-streifen-mit-ws2812b-controller/ - Datenblatt WS2812b
http://kt-elektronic.de/wawi11/artikeldaten/strip-2812_b60-rita/ws2812b.pdf - Adafruit: Light painting
https://learn.adafruit.com/light-painting-with-raspberry-pi/overview
https://learn.adafruit.com/light-painting-with-raspberry-pi/results - Get Here in Colours - Arduino Color Organ
https://www.youtube.com/watch?v=v2KTVQRueGg - D | TM1829 RGB LED Strips (aka ALDI Strips) für wenig Geld am Arduino
https://www.youtube.com/watch?v=C_byw0IVA5Q - IClite DIGITAL RGB-LED Flex Band – Aldi – Arduino – Netzwerk – Android-
Ambilight
http://www.tns-labs.org/iclite-digital-rgb-led-flex-band-aldi-arduino-netzwerk-android-ambilight/