Dynamische Beleuchtung: Unterschied zwischen den Versionen
Zeile 64: | Zeile 64: | ||
'''2. Schritt: WS2812b LED mit der Adafruit NeoPixel Library ansteuern.''' | '''2. Schritt: WS2812b LED mit der Adafruit NeoPixel Library ansteuern.''' | ||
[[Datei:Dynamische_Beleuchtung_LED_1.jpg|400px]] [[Datei:Dynamische Beleuchtung LED 2.jpg| | [[Datei:Dynamische_Beleuchtung_LED_1.jpg|400px]] [[Datei:Dynamische Beleuchtung LED 2.jpg|300px]] | ||
Durch die integrierte Schaltung in den LEDs mussten diese anders angesteuert werden, als normale LEDs. Denn die Besonderheit der WS2812b LEDs liegt darin, dass man über einen digitalen Eingang mehrere LEDs '''einzeln''' ansteuern kann. Dabei wird ein getaktetes Signal über den digitalen Ausgang des Arduino gesendet. Dieses Signal enthält die Zustände der einzelnen LEDs in Form von Speicher-Adressen. Durch die Taktung entsteht jedoch eine Verzögerung zwischen den einzelnen LEDs. Diese ist aber so minimal, dass sie erst bei einer Anzahl von >1000 LEDs bemerkbar wird. | Durch die integrierte Schaltung in den LEDs mussten diese anders angesteuert werden, als normale LEDs. Denn die Besonderheit der WS2812b LEDs liegt darin, dass man über einen digitalen Eingang mehrere LEDs '''einzeln''' ansteuern kann. Dabei wird ein getaktetes Signal über den digitalen Ausgang des Arduino gesendet. Dieses Signal enthält die Zustände der einzelnen LEDs in Form von Speicher-Adressen. Durch die Taktung entsteht jedoch eine Verzögerung zwischen den einzelnen LEDs. Diese ist aber so minimal, dass sie erst bei einer Anzahl von >1000 LEDs bemerkbar wird. |
Version vom 9. Januar 2022, 12:03 Uhr
Autoren: Adam Kaczmarek & Tristan Thörner
Betreuer: Prof. Göbel & Prof. Schneider
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)
Einleitung
In diesem Projekt soll eine dynamische, sich der Helligkeit anpassende Beleuchtung entwickelt werden. Diese Beleuchtung kann dann in Form einer Lampe auf den (Schreib-)Tisch gestellt werden. Die Beleuchtung passt ihre Helligkeit mit Hilfe eines Fotowiderstands an die gegebenen Lichtverhältnisse im Raum an. Die eigentliche "Lampe" besteht aus 8 WS2812b LEDs, die mit Hilfe von integrierter Schaltungen auf der LED, Signale von LED zu LED weiterreichen können. Dadurch lassen sich viele LEDs in SMD Bauweise aneinander schalten. Außerdem wird dadurch auch der Abstand zwischen den LEDs verringert.
Anforderungen
- Zum Einschalten wird ein einfacher Schalter verwendet.
- Die Helligkeit der LEDs soll mit Hilfe eines Helligkeitssensors (Fotowiderstand?) geregelt werden.
- Die Beleuchtung passt sich an die gegebenen Lichtverhältnisse an. Je dunkler es im Raum wird, desto heller leuchten die LEDs.
Funktionaler Systementwurf/Technischer Systementwurf
Hellblauer Balken = LED Lichtleiste; Hellgrauer Kreis = Einschalter.
Gelbes Viereck = Helligkeitssensor (Position noch nicht genau definiert)
Komponentenspezifikation
- 8x WS2812b 5V LEDs mit RGB Funktion und integrierter Treiberschaltung
- Externes 5V 0.7A Smartphone Netzteil (Marke: Samsung)
- Fotowiderstand inkl. 1kΩ Pull-Down Widerstand (aus dem Funduino Kasten)
- 330Ω Vorwiderstand für den digitalen Eingang der LEDs (300-500Ω)
- 220µF Kondensator zur Glättung von Stromspitzen (100-1000µF)
Umsetzung (HW/SW)
Die Spannungsversorgung erfolgt durch ein altes Smartphone Netzteil (z.B. Samsung) mit 5 Volt Nennspannung und bis zu 0,7 A Ausgangsstrom.
Der Fotowiderstand wird mit Hilfe eines 1kΩ Pull-Down Widerstandes an den analogen Eingang A0 des Arduino angeschlossen.
Zu guter Letzt werden die WS2812b LEDs inklusive Treiberschaltung mit dem digitalen Eingang über einen 330Ω Widerstand an den digitalen PWM-Ausgang des Arduino angeschlossen.
Komponententest
1. Schritt: Fotowiderstand mit der Arduino IDE auslesen.
Mit Hilfe einer einfachen weißen LED, die wir über Pulsweiten-Modulation angesteuert haben, konnten wir erkennen, wie sich der Fotowiderstand bei verschiedenen Lichtverhältnissen verhält. Dabei ist uns aufgefallen, dass der Fotowiderstand proportional zu externen Lichteinflüssen reagiert. Um den gewünschten Effekt zu erzielen, mussten wir die analogen Werte des Fotowiderstands invertieren. Da wir wissen, dass die analogen Eingänge des Arduino eine 10-Bit Auflösung besitzen, mussten wir die eingelesenen Werte mit 1023 subtrahieren. Am Ende hatten wir dann schon fast den gewünschten Effekt.
2. Schritt: WS2812b LED mit der Adafruit NeoPixel Library ansteuern.
Durch die integrierte Schaltung in den LEDs mussten diese anders angesteuert werden, als normale LEDs. Denn die Besonderheit der WS2812b LEDs liegt darin, dass man über einen digitalen Eingang mehrere LEDs einzeln ansteuern kann. Dabei wird ein getaktetes Signal über den digitalen Ausgang des Arduino gesendet. Dieses Signal enthält die Zustände der einzelnen LEDs in Form von Speicher-Adressen. Durch die Taktung entsteht jedoch eine Verzögerung zwischen den einzelnen LEDs. Diese ist aber so minimal, dass sie erst bei einer Anzahl von >1000 LEDs bemerkbar wird.
3. Schritt:
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)