Mini-Project - Arduino Controller for WS2812 LED Strip Lights on Ceiling
I put 4 meters of WS2812B LED strip lights on my ceiling and needed a controller for them. I bought a cheap controller on ebay, but I didn't really like the functions on it. I spent a lot of time programming the WallPaw with functions for these LED strips, so it didn't take too long to modify the functions to work with a single long strip. I also added a RF receiver module so that these strip lights would turn on/off when I use the RF outlet remote in the apartment to turn the rest of the lights on/off.
The coolest change I made in the programming for these lights was making the sound-reactive function react symmetrically. Instead of going from one end to the other with the lights, it starts in the middle and turns lights on going out to both sides. This is shown in the video above around the 17-second mark.
The controller takes in 5V DC and uses a boost converter to boost it to 10V or so, which is then used to power the Arduino's. This might not be necessary - Arduino's can use 5V input if you use the Voltage Input pins instead of the DC-barrel jack, bypassing the voltage controller. However, due to the variable nature of power that the LED strips need, I wasn't confident that the cheap eBay power supply would always supply 5V. This way I know the Arduino's will have enough power to run no matter how bright/dim the LED lights are.
Features and Function
Effect animation speed control
Only a few sections lit
All lights pulsing in/out
Sound reactive pulse
Sound reactive symmetrical flashing
Alternating colors in various sections
Volume bar - more lights illuminate when sound is loud. This is dynamic, so as sound gets louder it becomes less sensitive and vice versa.
Pulse - all lights illuminated, get brighter/dimmer based on sound level
Fading rainbow - a rainbow of colors all around the paw, which scrolls around at the set animation speed
Rainbow sound reactive - sound reactive setting where the color scrolls through the rainbow
Bouncing balls - a simulation of balls bouncing. It looks cool on straight LED strips, on the paw it looks like random lights
Snow - all lights on a dim white, with a random one lighting up every half second or so
Three color pulse - Red/green/blue pulsing in and out
Theater Chase Rainbow - Theater Chase sequence where lights light up in sets of 3 to give the appearance of lights "chasing" each other.
WS2812 LED strip - 5 meters
5V to 24V boost converter module
Infrared receiver module
RF Receiver module
DC barrel jack connectors
5V 15A PSU
44-key IR LED remote
Hot glue gun (this is essential)
Nothing too complicated here - I just laid out the parts I needed and arranged them in a way that I could run power to everything.
The RF module isn't pictured here, but I put it in the bottom right corner of the blue breadboard.
You can download the source code from this Google Drive folder: