Ehrenlicht 3.0: Unterschied zwischen den Versionen

Aus fablab Cottbus
Zur Navigation springen Zur Suche springen
 
(31 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, welche Musik visuell darstellt. Diese Version ist die digitale Fortführung der bisher analog gebauten [http://www.maximus-voigtus.de/?project=w-kontakte-in-kontakt Vorgänger] und basiert auf dem im Fablab Cottbus entwickelten [http://fablab-cottbus.de/index.php/Audio_Board Audio Board].
+
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 [https://en.wikipedia.org/wiki/VU_meter volume unit meter] sollte dies in erster Linie über den LED-Pegel, die Helligkeit und eine Farbauswahl passieren. Das Ziel ist ein Beleuchtungssystem, welches den ganzen Raum in eine Lichtstimmung taucht, welche 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, welches das Musikhören zu einem audivisuellen Erlebnis macht.  
+
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 11: Zeile 11:
 
Das Animationssystem wurde in die Programmroutine des Audio Boards geschrieben.
 
Das Animationssystem wurde in die Programmroutine des Audio Boards geschrieben.
  
== Bisheriger technischer Aufbau ==  
+
== Technischer Aufbau ==  
Die Lampe 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ße Acrylglasplatten, die in eine 150*10,2,5 cm große Tulpenholzleiste eingebettet sind. Die LEDs werden über USART und DMA angesteuert.  
+
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 [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.
 +
[https://github.com/maximusvo/Ehrenlicht Den Code findet ihr hier].
 +
[[Datei:WS2812_schematic.png|300px|miniatur|Schematik der WS2812 RGB LED Verschaltung]]
  
== Bisheriger softwaretechnischer Aufbau ==
+
{{#ev:youtube|id=https://youtu.be/IKv1kGGX70Y|480x320||Neuste Version|frame}}
Wie schon gesagt, basiert diese Lampe zu großen Teilen auf dem erwähnten Audio Board, es wurde lediglich eine Animation geschrieben und die Ansteuerung der WS2812 angepasst. Die Farbsteuerung erfolgt über den [https://de.wikipedia.org/wiki/HSV-Farbraum HSV Farbraum], da dieser der menschlichen Farbwahrnehmung ähnelt.
+
{{#ev:youtube|id=https://youtu.be/6lgkiiwZq3Y|480x320||Demonstration des ersten Aufbaus|frame}}
Dieses Animationssystem passt den Pegel an die 10 Segmente an, sucht den aktuell dominantesten Frequenzbereich, überprüft die momentane BPM und gleicht sie mit der gespeicherten ab, passt die Anzahl der Farbwechsel pro Sekunde an und führt einen Farbwechsel durch, wenn ein Beat erkannt wurde. Aktuell ist folgendes zu sehen: Wenn überwiegend tiefere Frequenzen festgestellt werden, werden blaue Farben gewählt. Werden überwiegend mittlere und höhere Frequenzen festgestellt, gelbe Farbtöne. Zwischen beiden Farbräumen wird gefadet. Werden sehr hohe Frequenzen festgestellt, wird die Sättigung verstärkt. Die Farbwechsel erfolgen in Anlehnung an die aktuellen BPM und erst dann, wenn ein Beat erkannt wurde. D.h., ein Farbwechsel passiert im Idealfall nur dann, wenn er in den Takt des Lieds passt.
 
  
{{#ev:youtube|id=https://youtu.be/6lgkiiwZq3Y|480x320||Demonstration des aktuellen Aufbaus|frame}}
+
== 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 ==  
 
== Aktuelle Projektarbeiten ==  
Zurzeit wird an einer Funkübertragung vom Audio Board zur Lampe gearbeitet, damit dieses möglichst nah an der Audioquelle stehen kann, um Störungen und lange Kabel zu verhindern. Anschließend soll eine Smartphone Ansteuerung über Bluetooth folgen.
+
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.  
  
 
== Fotodokumentation ==
 
== Fotodokumentation ==
 
{{Spalten|300px}}
 
{{Spalten|300px}}
[[Datei:Ehrenlicht Bau 1.JPG|300px|miniatur|1]]
+
[[Datei:Ehrenlicht Bau 1.JPG|300px|miniatur|Einfräsungen für die Acrylglasplatten]]
[[Datei:Ehrenlicht Bau 2.JPG|300px|miniatur|2]]
+
[[Datei:Ehrenlicht Bau 2.JPG|300px|miniatur|Einfräsungen für die Verkabelung und die Einbettung der WS2812 LEDs]]
[[Datei:Ehrenlicht Bau 3.JPG|300px|miniatur|3]]
+
[[Datei:Ehrenlicht Bau 3.JPG|300px|miniatur|Lötarbeitsplatz]]
[[Datei:Ehrenlicht Bau 4.JPG|300px|miniatur|4]]
+
[[Datei:Ehrenlicht Bau 4.JPG|300px|miniatur|Leiste mit fertiger Verkabelung ind eingebetteten LEDs]]
 +
[[Datei:Ehrenlicht Bau 5.JPG|300px|miniatur|Aufnahme vom Löten des Audio Boards]]
 
{{Spalten Ende}}
 
{{Spalten Ende}}

Aktuelle Version vom 17. Mai 2017, 09:04 Uhr

Das Ehrenlicht 3.0

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.


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.

Schematik der WS2812 RGB LED Verschaltung
Neuste Version
Demonstration des ersten Aufbaus

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.

Fotodokumentation

Einfräsungen für die Acrylglasplatten
Einfräsungen für die Verkabelung und die Einbettung der WS2812 LEDs
Lötarbeitsplatz
Leiste mit fertiger Verkabelung ind eingebetteten LEDs
Aufnahme vom Löten des Audio Boards