Dies ist eine alte Version des Dokuments!


MoodStrip

LED Streifen zur Musik Blinken lassen

Wisser: Skruppy, Wanda, Jan?
Mitwisser:

Status: working, in progress, documentation needed
Tags: elektro, software, AVR, LED, Musik, processing, C, Java, Arduino, reverse engineering

Einleitung

Vorlage

Komponenten

  • IDE/Framework: Processing (leider Java)
  • PulseAudio
  • ALDI 5m LED Schnur 27W laut Werbung (15W in echt)
  • Arduino

Installation

apt-get install openjdk-6-jre openjdk-6-jre-lib pavucontrol

Auf der Processing Webseite die „LINUX“ Version runterladen und entpacken.

Um PulseAudio support in Processing zu haben, müssen jetzt files aus den oben installierten System Paketen in den entpackten Prozessing Ordner kopiert werden.

cp  /usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar      ./processing-<versions nummer>/java/lib/ext/
cp  /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libpulse-java.so   ./processing-<versions nummer>/java/lib/i386/

Konfiguration

Mit pavucontrol den „Monitor“ Kanal der gewünschen Audio Sink als Source für das Programm einstellen.

Umsetzung

Aufbau der PCB

Ein Mikrocontroller ohne Aufdruck empfängt IR signale und steuert per PWM die LEDs. Er hat vermutlich eine Frequenz von 8Mhz. Es sind noch andere, für das Ziel uninteresante Komponenten auf der Platine. Für jeden der drei Farbkanäle gibt es die Folgende Ansteuerungsschaltung.

(Der Circuit Simulator Queltext zum importieren http://pastebin.com/emEJ5TZF)

An der Angegebene stelle wurde die Verbindung zwischen Mikrocontroller und der LED Steuerschaltung aufgetrennt und beide Seiten (jeweils aller drei Kanäle) an eine Buchsenleiste ausgeführt. An ihr kann man nun entweder eigene Steuersignale einspeisen, die orginal Signale Auswerten oder mit Brücken den Normalbetrieb herstellen.

Orginal Ansteuerung

  • 12V an den Streifen
  • R: 0,78A G: 0,78A B: 0,64A (im einzelbetrieb einer Farbe, 100% duty-cycle)
  • Größter beobachteter Gesamtsprom: 1,23A (ggf. falsch gemessen, da gepulst)
  • Größte beobachtete Gesamtleistung: 15W (ggf. falsch gemessen, da gepulst)

Werden alle Farben mit 100% duty-cycle gleichzeitig betrieben (also schlich alles mit dauerstrom an), so ergibt sich ein verbrauch von 26W. Das entspricht fast der Werbung. Allerdings ist mit dem mitgelieferten controller diese ansteuerung nicht möglich. Da sobald eine weitere farbe ins spiel kommt keine farbe mit 100% duty-cycle leuft. D.h. für einen kurzen moment (zu begin der periode) können 26W vom netzteil gefordert werden, jedoch wird das licht nie eine helligkeit von 26W haben. Wie gut meine messungen sind weis ich nicht, da ich nicht weis wie gut das messgerät mit gepulsten strömen umgehen kann, auf jedenfall hatt die anzeige nicht geflackert.

Die PWM Frequenz ist 438Hz (die Periodendauer 2,282ms). Der duty-cycle bei 100% rot/grün/blau ist in den Helligkeitsstufen:
100%; 88,2%; 78,4%; 59%; 49,2%; 39,48%; 29,76%; 20%; 10,3%

Neue ansteuerung

Ergebnis

AWESOME *blink* *blink* *blink* … jetzt kann ich endlich wieder wie zu den guten alten ACAB Zeiten mit dem Epilepsi Faktor Arbeiten.

CPU auslastung von 100% nerft. Mit hörem nice wert läst sich aber wunderbar paralel arbeiten (auch wenn der PC viel heiße luft produziert).

Kein flackern oder ruckeln der LED. Ersteres war mit einer Frequenz von 100Hz nerfig. Nachdem es ca. verfünffacht wurde ist es OK. Es muss jedoch nochmal überprüft werden wie groß die schaltverluste sind. Das ruckeln war mit einer Baudrate von 9600 sichtbar (ca. 137Hz bei Farb updates). Mit doppelter baudrate und somit frequenz fält das nicht mehr auf.

Eine Gamma Korektur hat Große auswirkungen!

Dubstep ist perfekt für die Visualisierung mit dem Akuellen Programm (welches noch viel Raum für verbesserungen hat)

projects/moodstrip.1333412993.txt.gz · Zuletzt geändert: 2012/04/03 02:29 von 92.75.16.71