Do you like bright shiny lights? Have you ever wished you could have bright shiny lights controlled by your smartphone? That is what this project was about. Clara wanted to add some mood lighting to decorate her bedroom and we figured it would be cool if she could change the lights to go with the desired mood.
We are using an Arduino compatible microcontroller with a bluetooth module. This allows us to drive LED-programmable lights (Neopixels) with a widely available library, and from the Arduino environment we have some experience in, while enjoying all the coolness of controlling from a smartphone app.
The folks at Adafruit made this project a lot easier and so we use their hardware primarily. It would probably be cheaper to use a Wemo-type device with Wifi. The ESP32 supports both Wifi and bluetooth and can be programmed in MicroPython instead of Arduino.
5v power comes into a barrel jack and is fed through a capacitor to smooth it out, to the Neopixel strip, to the Arduino, and to a logic level converter. Out of PIN 6 comes the signal that drives the Neopixels because this Arduino has 3.3v logic levels and Neopixels expect 5v logic levels.
TXB108 Level shifter or similar
4700uF capacitor (a smaller one would also work)
300 ohm resistor (or thereabouts)
5v power supply (I use a 10A one)
Open the Bluefruit LE app (Android or iOS), select your bluefruit and connect. Then go into Control.
You can then pick a color with the color picker or use the Control Pad to play the following effects.
UP Arrow - All One Color , you can change the color with the ColorPicker
DOWN Arrow - Fire
LEFT Arrow - Color Wipe , you can change the color with the ColorPicker
RIGHT Arrow - Twinkle Random
1 TheatreChaseRainbow (takes long time to change back)
2 ChooChoo Train (Cylon eye - takes long time to change back)
3 RGB Loop (takes long time to change back)
4 RainbowCycle (takes long time to change back)