Translate music to a dazzling light show with this customizable light controller project. Great for DJs, parties, and 1:1 shows!
Step 1: Background
The idea behind this project was to create a controller to allows users to “play” light like it is an instrument with custom visuals, gesture control, and brightness/speed dials.
Considering how pricey consumer light controllers can be (often $100 bucks or more- not including the lights!) we decided to try to make a cheaper, more customizable solution!
Step 2: Materials
Step 3: Setup the Circuit
One of the challenges with a project like this is the number of buttons it would have to include. Even in my more conservative designs, I wanted to have around 8 buttons to manage the different visual sequences, color palettes, and other mode selection. Wiring up that many buttons can be tedious and opens a lot of possibility for one connection to break and ruin the whole performance. Additionally the Arduino we are using (the UNO) only has so many digital inputs that can be used. Luckily by using the the Pmod KYPD we were able to circumvent both these issues!
The Pmod KYPD's small form-factor allows it to fit neatly onto any baseboard without taking up too much real estate. I am using a wood sample I got from my local hardware store for free as my mounting panel.
To wire up this project, first wire up the Pmod KYPD according to the above Fritzing diagram.
Then wire in your potentiometers to Analog Pins A5 (brightness) and A4 (speed).
Attach the LED Strips to Ground and 5V, then wire both signal pins into Digital Pin 11. Wire up the sound sensor to power and ground, and the white wire to A1 and yellow wire to A0 (if you do not have the connecting cable as reference, the yellow wire is the outside one, and more documentation on the sensor is here. For the Ping sensor/Ultrasonic rangefinder Trig is on Digital Pin 13 and Echo is on Digital Pin 12 (in addition to power and ground of course).
Step 4: Code
For the code you will need the FastLED and Keypad library (both found in the Arduino IDE library manager). Keypad is not listed first when you search for it, you will have to scroll down until you find the one by Mark Stanley and Alexander Brevig.
Copy and paste the code into the Arduino IDE and click upload. Now it is time to play around with the board! Note- Buttons 3 and 4 are attached to the ping sensor so try putting your hand over the sensor when you activate those visualizers.
Have fun and feel free to expand this project to add more visualizers, sensors, ect!
Step 5: Time for Lightshows!
Now it is time to use the board!
In my setup buttons 1-4 are the visual sequences, 5 is auto-mode with the sound sensor, and 6-9, F and C are the color palettes, which influence any of the visualizers.