I decided to do a cool project on controlling your RGB LED strip by using a simple application that you can download from the google app store. I've seen many tutorials using the Arduino Leonardo and a RGB LED strip to display a cool light show using music to sync with the LED s. However, I decided to write a code a simple code that will be able to control the color on the LED s, the dimming effect on the color you decide to dim, and the speed of the dimming on the LED s.
Here is a little demo on the project:
So I hope you guys enjoy my small project and lets get started!
Step 1: Parts Needed:
I will provide the following parts that will be used on this project:
- 1x Arduino Leonardo
- 1x USB Cable type A/B
- 3x MOSFET N Channel Transistors
- 1x Wiring kit
- 1x Bluetooth Module
- 1x Breadboard
- 1x RGB LED Strip (common anode)
- 3x 1k ohm resistors
- 1x 12V Power plug adapter
- 1x Soldering Iron and solder (optional)
1. Want to know more about why we use transistors for this project?
Check out the following link: Transistor Usage
2. You can purchase resistors and breadboard from your local electronic store or online (ex. Frys, Radio Shack, amazon, mouser electronics).
3. Soldering kit is only needed if you already have a 12V Power plug adapter and wish to modify it to be used on this project. If you don't have a 12V Power plug adapter you can just purchase one from the provided link shown on the parts list. This includes a male connector plug making it easier to connect the power supply to the breadboard.
Step 2: Putting the Circuit Together
To construct the light control circuit follow the connections from the diagram shown above.
1. We will be having two different power supplies that will be used on the two rails provided by the breadboard. The rail with the external power supply will be your 12V power supply provided from the outlet that you purchased from amazon. The other rail that has the Bluetooth module and the Arduino Leonardo connected will be powered by a 5V source (I connected my Arduino to the computer).
2. We could have connected the 12V power supply directly to the Arduino Leonardo; however, from experience this will heat up the Arduino. So we will have the 12V power supply on one of the rails on the breadboard.
3. 12V power supply will be used to power the RGB LED Strip and the 5V power supply will be used to power the Arduino and the Bluetooth module.
Step 3: Programming the Arduino for the Custom Light Control
If you don't have the Arduino software download the software from here.
Once you have the software now we can download the following ino file and open it using the software we just downloaded.
Check for Errors and Upload File to Arduino:
1. Now we can check the file if it contains any syntax errors by clicking on the check button shown above.
2. Now click on the right arrow button to upload the program onto the Arduino.
Step 4: Setting Up the Application for the Light Control
1. Once you click on an empty panel you will be able to edit that panel with customized controls for your project.
2. Once you edit a panel you will notice on your right side with a bunch of tabs, which will be used to find your customized buttons, sliders, etc.
3. Once you locate the specific customized control you will be able to drag and drop from the bottom window to the main panel.
4. To edit each control block you have to click on the control block and press edit located at the bottom right of your screen.
4. Lastly, to label your buttons, sliders, etc. you can simply go to the text tab and drag and drop the text box onto your panel. Next you will click on the text box and click edit to label your buttons, sliders, etc.
Before we start we have to download the application on our android device:
1. Go to the google play store and search "Bluetooth Electronics".
2. Open up the application and scroll to the right until you see an empty panel.
3. Click on the empty panel and click edit.
4. Now we need to create the switches for the RGB light control (refer to figure shown above)
• LED Brightness Controller requires 3 sliders, which can be found on the sliders tab and edit the sliders once there on the panel (see figure):
• Set the "On Change Sends:" to "R" + value + "r"
• Set the "On Change Sends:" to "G" + value + "g"
• Set the "On Change Sends:" to "B" + value + "b"
• Fade/ speed can be found in switches tab and buttons tab respectively
• Fade we set the "Turn On sends" to "C" and Turn Off sends to "c"
• Speed buttons:
• Up arrow the "Press sends" to "U" and "Release sends" to "u"
• Down arrow the "press sends to "D" and "Release sends" to "d"
• Delay speed gauge can be found in the indicators tab
• Gauge we set the "Receive on" to "*G"
• The gauge values can be edited to your preference (ex. I had mine for min = 0 and max = 300)
5. Once we have the control application finished we can now connect the Bluetooth module with the application.
• Discover --> Pair --> Connect --> Done
Step 5: Light Control Test
I will explain how the application will interact with the circuit to control the RGB LEDs:
1. To turn on any color on the RGB LED we have to use the 3 sliders that correspond to each color (green, blue, red).
2. To use the fade we have to have the color of your preference set and than we hit the switch to have the fading effect.
3. To set the fade speed we simply hold the up arrow until you hit a desired fade speed or vice versa to decrease the fade speed. Than we set the color we want to fade and than hit the switch for the fading effect.
We did it!! Or did we..?
Now we will test perform a test by checking if our panel is able to send information to turn on the different colors, the fade, and the fade speed.
1. Test the color sliders to make sure that each color turns on as you slide the specific color on the panel.
2. Now once you have a color hit the switch and you will see that the current color will start to fade. To turn off the fade effect turn off the switch (wait until the color on the RGB LED is bright). Than you will be able to adjust the color as instructed shown on step 1.
3. Test the fade speed and notice that the fade is either faster or slower depending on the speed you chose.
To see how the RGB LED operated just click the link below:
RGB LED Light Control Test