Ehrenlicht 3.0: Unterschied zwischen den Versionen
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Datei:Ehrenlicht 3.0.jpg|300px|miniatur|Das Ehrenlicht 3.0]] | [[Datei:Ehrenlicht 3.0.jpg|300px|miniatur|Das Ehrenlicht 3.0]] | ||
<onlyinclude> | <onlyinclude> | ||
− | Das Ehrenlicht 3.0 ist die dritte Generation eines Projektes, welches eine Lampe zur Folge haben soll, die Musik visuell darstellt. Diese Version ist die digitale Fortführung der bisher analog gebauten | + | Das Ehrenlicht 3.0 ist die dritte Generation eines Projektes, welches eine Lampe zur Folge haben soll, die Musik visuell darstellt. Diese Version ist die digitale Fortführung der bisher analog gebauten Vorgänger und basiert auf dem im Fablab Cottbus entwickelten [http://fablab-cottbus.de/index.php/Audio_Board Audio Board]. |
</onlyinclude> | </onlyinclude> | ||
== Idee == | == Idee == | ||
− | Das Ziel war es, eine Lampe zu entwickeln, die Musik rudimentär über Licht wiedergibt. Angelehnt an ein | + | Das Ziel war es, eine Lampe zu entwickeln, die Musik rudimentär über Licht wiedergibt. Angelehnt an ein spectrum analyzer sollte dies über die Helligkeits- und Farbansteuerung von LEDs passieren. Das Ziel ist ein Beleuchtungssystem, welches den ganzen Raum in eine Lichtstimmung taucht, die auf die Musik abgestimmt ist. Bei der Idee geht es nicht darum, eine einfache Lichtorgel für Partyzwecke zu entwickeln, sondern um ein kompliziertes System, das das Musikhören zu einem audiovisuellen Erlebnis macht. |
== Basis == | == Basis == | ||
Zeile 13: | Zeile 13: | ||
== Technischer Aufbau == | == Technischer Aufbau == | ||
Das System besteht aus zwei Teilen: | Das System besteht aus zwei Teilen: | ||
− | * 1. dem Audio Board (Basis: | + | * 1. dem Audio Board (Basis: ATxmega128A3U), das einen Sound-Stream erfasst und durch eine fft digitalisiert sowie eine rudimentäre BPM-Analyse durchführt und |
* 2. der eigentlichen Lampensteuerung (Basis: ATmega328P), die die Animation berechnet und die WS2812 LEDs ansteuert. | * 2. der eigentlichen Lampensteuerung (Basis: ATmega328P), die die Animation berechnet und die WS2812 LEDs ansteuert. | ||
Verbunden sind die beiden Teilsysteme durch zwei nRF24L01 Funkmodule, die über master SPI mit den jeweiligen AVRs kommunizieren (Grundlage für die Ansteuerung der nRFs ist die von Ernst Buchmann erstellte [https://www.mikrocontroller.net/articles/NRF24L01_Tutorial Lib.]). | Verbunden sind die beiden Teilsysteme durch zwei nRF24L01 Funkmodule, die über master SPI mit den jeweiligen AVRs kommunizieren (Grundlage für die Ansteuerung der nRFs ist die von Ernst Buchmann erstellte [https://www.mikrocontroller.net/articles/NRF24L01_Tutorial Lib.]). | ||
Die Lampe selbst besteht aus 60 übereinander angeordneten WS2812 RGB LEDs (zerschnittener LED Streifen, jede LED einzeln ansteuerbar), die in 6er Gruppen zusammengefügt sind. Jede dieser Gruppen beleuchtet eine von 10 10*10*1,5 cm großen Acrylglasplatten, die in eine 150*10*2,5 cm große Tulpenholzleiste eingebettet sind. Die RGB LEDs werden durch bit-banging angesteuert (es wird die light wight [https://github.com/cpldcpu/light_ws2812 Lib.] von Tim benutzt) und die Farben durch den [https://de.wikipedia.org/wiki/HSV-Farbraum HSV Farbraum] manipuliert, da dieser der menschlichen Farbwahrnehmung ähnelt. Der Widerstand in der rechts aufgeführten Schematik wird beim 3,3V Betrieb (wie beim Ehrenlicht der Fall) nicht benötigt. | Die Lampe selbst besteht aus 60 übereinander angeordneten WS2812 RGB LEDs (zerschnittener LED Streifen, jede LED einzeln ansteuerbar), die in 6er Gruppen zusammengefügt sind. Jede dieser Gruppen beleuchtet eine von 10 10*10*1,5 cm großen Acrylglasplatten, die in eine 150*10*2,5 cm große Tulpenholzleiste eingebettet sind. Die RGB LEDs werden durch bit-banging angesteuert (es wird die light wight [https://github.com/cpldcpu/light_ws2812 Lib.] von Tim benutzt) und die Farben durch den [https://de.wikipedia.org/wiki/HSV-Farbraum HSV Farbraum] manipuliert, da dieser der menschlichen Farbwahrnehmung ähnelt. Der Widerstand in der rechts aufgeführten Schematik wird beim 3,3V Betrieb (wie beim Ehrenlicht der Fall) nicht benötigt. | ||
− | + | [https://github.com/maximusvo/Ehrenlicht Den Code findet ihr hier]. | |
[[Datei:WS2812_schematic.png|300px|miniatur|Schematik der WS2812 RGB LED Verschaltung]] | [[Datei:WS2812_schematic.png|300px|miniatur|Schematik der WS2812 RGB LED Verschaltung]] | ||
+ | {{#ev:youtube|id=https://youtu.be/IKv1kGGX70Y|480x320||Neuste Version|frame}} | ||
{{#ev:youtube|id=https://youtu.be/6lgkiiwZq3Y|480x320||Demonstration des ersten Aufbaus|frame}} | {{#ev:youtube|id=https://youtu.be/6lgkiiwZq3Y|480x320||Demonstration des ersten Aufbaus|frame}} | ||
− | |||
== Hinweise zu NRF24L01 Funkmodulen == | == Hinweise zu NRF24L01 Funkmodulen == | ||
− | Wenn die Module auf anderen Plattformen verwendet werden sollen, muss lediglich die spi.c/h angepasst werden. Um die Funktionalität der Module zu gewährleisten, sollte auf ein Netzteil mit ausreichender Leistung geachtet sowie ein | + | Wenn die Module auf anderen Plattformen verwendet werden sollen, muss lediglich die spi.c/h angepasst werden. Um die Funktionalität der Module zu gewährleisten, sollte auf ein Netzteil mit ausreichender Leistung geachtet sowie ein 10µF Kondensator für die Stabilisation und Entstörung zwischen +/- der nRFs gelötet werden. |
== Pinkonfiguration == | == Pinkonfiguration == | ||
− | * nRFs ( | + | * nRFs (spi.c): |
** ATmega328P: PORT_SPI PORTB, DDR_SPI DDRB, DD_MISO DDB4, DD_MOSI DDB3, DD_SS DDB2, DD_SCK DDB5 | ** ATmega328P: PORT_SPI PORTB, DDR_SPI DDRB, DD_MISO DDB4, DD_MOSI DDB3, DD_SS DDB2, DD_SCK DDB5 | ||
** ATxmega128A3U: PORT_SPI SPIC -> PORTC, DD_MISO PIN6, DD_MOSI PIN5, DD_SS PIN4, DD_SCK PIN7 | ** ATxmega128A3U: PORT_SPI SPIC -> PORTC, DD_MISO PIN6, DD_MOSI PIN5, DD_SS PIN4, DD_SCK PIN7 | ||
− | * WS2812: | + | * WS2812 (ws2812_config.h): |
− | ** Port C, Pin 1 | + | ** ATmega328P: Port C, Pin 1 |
== Aktuelle Projektarbeiten == | == Aktuelle Projektarbeiten == |
Aktuelle Version vom 17. Mai 2017, 09:04 Uhr
Das Ehrenlicht 3.0 ist die dritte Generation eines Projektes, welches eine Lampe zur Folge haben soll, die Musik visuell darstellt. Diese Version ist die digitale Fortführung der bisher analog gebauten Vorgänger und basiert auf dem im Fablab Cottbus entwickelten Audio Board.
Inhaltsverzeichnis
Idee
Das Ziel war es, eine Lampe zu entwickeln, die Musik rudimentär über Licht wiedergibt. Angelehnt an ein spectrum analyzer sollte dies über die Helligkeits- und Farbansteuerung von LEDs passieren. Das Ziel ist ein Beleuchtungssystem, welches den ganzen Raum in eine Lichtstimmung taucht, die auf die Musik abgestimmt ist. Bei der Idee geht es nicht darum, eine einfache Lichtorgel für Partyzwecke zu entwickeln, sondern um ein kompliziertes System, das das Musikhören zu einem audiovisuellen Erlebnis macht.
Basis
Das Ehrenlicht 3.0 wurde mit Hilfe des im Fablab Cottbus entwickelten Audio Boards umgesetzt. Dies ist ein autarker Aufbau, der unabhängig von einem anderen System über die Analyse des über ein Audiokabel eingegebenen Audiosignals folgende Parameter zur Verfügung stellt: BPM, Pegel (Stereo) und Frequenzband (Stereo). Diese Daten werden 20 mal pro Sekunde erfasst und gespeichert. Das Animationssystem wurde in die Programmroutine des Audio Boards geschrieben.
Technischer Aufbau
Das System besteht aus zwei Teilen:
- 1. dem Audio Board (Basis: ATxmega128A3U), das einen Sound-Stream erfasst und durch eine fft digitalisiert sowie eine rudimentäre BPM-Analyse durchführt und
- 2. der eigentlichen Lampensteuerung (Basis: ATmega328P), die die Animation berechnet und die WS2812 LEDs ansteuert.
Verbunden sind die beiden Teilsysteme durch zwei nRF24L01 Funkmodule, die über master SPI mit den jeweiligen AVRs kommunizieren (Grundlage für die Ansteuerung der nRFs ist die von Ernst Buchmann erstellte Lib.). Die Lampe selbst besteht aus 60 übereinander angeordneten WS2812 RGB LEDs (zerschnittener LED Streifen, jede LED einzeln ansteuerbar), die in 6er Gruppen zusammengefügt sind. Jede dieser Gruppen beleuchtet eine von 10 10*10*1,5 cm großen Acrylglasplatten, die in eine 150*10*2,5 cm große Tulpenholzleiste eingebettet sind. Die RGB LEDs werden durch bit-banging angesteuert (es wird die light wight Lib. von Tim benutzt) und die Farben durch den HSV Farbraum manipuliert, da dieser der menschlichen Farbwahrnehmung ähnelt. Der Widerstand in der rechts aufgeführten Schematik wird beim 3,3V Betrieb (wie beim Ehrenlicht der Fall) nicht benötigt. Den Code findet ihr hier.
Hinweise zu NRF24L01 Funkmodulen
Wenn die Module auf anderen Plattformen verwendet werden sollen, muss lediglich die spi.c/h angepasst werden. Um die Funktionalität der Module zu gewährleisten, sollte auf ein Netzteil mit ausreichender Leistung geachtet sowie ein 10µF Kondensator für die Stabilisation und Entstörung zwischen +/- der nRFs gelötet werden.
Pinkonfiguration
- nRFs (spi.c):
- ATmega328P: PORT_SPI PORTB, DDR_SPI DDRB, DD_MISO DDB4, DD_MOSI DDB3, DD_SS DDB2, DD_SCK DDB5
- ATxmega128A3U: PORT_SPI SPIC -> PORTC, DD_MISO PIN6, DD_MOSI PIN5, DD_SS PIN4, DD_SCK PIN7
- WS2812 (ws2812_config.h):
- ATmega328P: Port C, Pin 1
Aktuelle Projektarbeiten
Um eine höhere Auflösung der Animation zu ermöglichen (durch mehr Prozessorleistung) und um auch digitale, optische Lichtleitersignale verarbeiten zu können, soll das Audio Board mit einem Cortex Controller bestückt werden. Außerdem ist eine App in Planung, mit der das System konfiguriert werden kann.