summaryrefslogtreecommitdiff
path: root/content/tech/music-led-visualisation.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/tech/music-led-visualisation.md')
-rw-r--r--content/tech/music-led-visualisation.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/content/tech/music-led-visualisation.md b/content/tech/music-led-visualisation.md
new file mode 100644
index 0000000..f7d5c12
--- /dev/null
+++ b/content/tech/music-led-visualisation.md
@@ -0,0 +1,25 @@
+---
+categories:
+- software
+date: 2016-02-13
+title: Visualize music with MPD and an LED strip
+---
+
+With Arduinos, 5050 RGB LED strips, Hyperion and MPD on a Raspberry Pi I created a low cost party lightning environment.
+
+![First test results](/images/music-led/led-floor.jpg)
+
+_First tests show that the setup seems to work._
+
+The setup consists of cheap RGB LED strips, 2 \* 5 meters, powered by two 12V 3.5A adapters and an Arduino with three TO-120 transistors each.
+For strips with 30 LEDs per meter, you need 0.5A per meter. To be safe, add additional 10% to the total. So for my 10 meters, I could also have used a single adapter with at least 5.5A.
+The Arduino's GPIOs are not nearly able to supply 5.5A \* 12V = 66W, so we need transistors - either darlington transistors or MOSFETs. [Adafruit](https://learn.adafruit.com/rgb-led-strips/usage) has more information and detailed explanations. After wiring, the Arduino needs to be flashed with a software that communicates with the Raspberry Pi. I adapted a sketch that implements the Adalight protocol, you can find it [here](https://git.schneefux.xyz/?p=mpd-rgb-vis;a=blob;f=adastrip.ino;hb=HEAD).
+
+The Raspberry Pi as server runs [Hyperion](https://github.com/tvdzwan/hyperion) which is AmbiLight-like. On the same host, MPD outputs music to speakers and a FIFO. I wrote a Hyperion plugin that processes the output of the FIFO and thus visualizes the music that is currently be played. The plugin and more installation instructions are [here](https://git.schneefux.xyz/?p=mpd-rgb-vis;a=blob;f=README.md;hb=HEAD). In my case, I started two Hyperion daemons, because I had two Arduinos connected and it is currently not possible to output the same data to two Hyperion compatible devices.
+
+Initially, I planned using an ESP8266 instead of the Arduino. I had not the right parts to step down 12V to 3.3V and tried to hack something together with LEDs and a 7V-3.3V-stepdown converter.
+Well… that didn't work out quite well. I used Arduino Unos instead.
+
+![Failed attempt of connecting an ESP8266](/images/music-led/controller-failed.jpg)
+
+_Do not reproduce, this fries the ESP…_