Remote Control LED Cylinder
Welcome to another LED creation I made which showcases a fun use of NRF24L01 in combination with Arduino's and LED's. This project took me many months to plan, design, and shoot a video for so I hope you all enjoy this project and let me know if you have any comments or suggestions :)
This video will be another visual of the step by step process I went through for the project.
Let's get started!
Supplies
Tactile Push buttons (x12)
PCB Board
Arduino Nano (x2)
NRF24L01 (x2)
LED Strip (x48 LEDs)
LED Bulb for remote.
1 amp switch (x2)
Screws
Jumper Wires
Hot Glue
3D Printer
Step 1: Design Remote Control
For this process, I used Tinkercad to model how I wanted the remote control to look. I used a battery pack I made with 3 AA batteries and houses a 1 amp switch with the battery lid. This will power our Arduino controller by using 4.5 volts. The reason I went this route is because we test the varying voltage depending on what button was pressed. The variance is much higher with a higher voltage so there is more room to work with.
In this download, I have the battery pack, pack lid, the control box, control lid, and button caps for the buttons and the final LED on top. The button caps are not necessary, but I thought it would be a good touch for it.
The buttons on the remote are not perfectly in line, but this is because my soldering skills are not the most perfect. Some of the buttons were out of line on the motherboard.
3D Print the Cylinder
This is the LED Cylinder that will glow. The first main piece is the outside shell. It is important to note the thickness of it. When 3D printing, make sure this has at least 3 or 4 layers of walls. This will make sure the LED's are more diffused when displaying through it. The green pieces on the images is where the screws will screw in with the lid. Onto the inside piece.
In the inside piece, it houses the 3 AA batteries that are in series in one department, and in the other department we have the Arduino Nano and the NRF24L01. We can then wrap the LED lights around this cylinder. I used about 48 LED's in total.
Finally we have the Lid for this. The lid will keep the middle cylinder in the middle and not move around. Overall this lid screws into the middle cylinder and the outside cylinder. It has a switch hole to put a 1 amp switch in and the bump on the lid is for the spring side of the battery terminal to power the Arduino.
Solder the Remote & Cylinder
Follow this wiring diagram. For the LED Controller, the NRF24L01 will be wired the same as the LED Cylinder side. Also, the right side of the buttons will be wired the same as the left side of the buttons for the remote. We do not need another LED for the right side.
There are two parts of wiring - The Remote and then the LED Cylinder. In regards to the Cylinder, connecting the NRF20L01 to the Arduino will be the same process as the Remote Controller. First, add a switch to the positive after the three AA batteries that are in series. After the switch, connect the wires to the LED Strip and the Arduino Nano. Then connect the ground of the batteries to the ground on the LED Strip and the Arduino Nano. From the Arduino, pin D3 will connect to the Din of the LED strip to control it. On the NRF24L01, the bottom left pin is ground which needs to be connected to the Arduino Nano. Next, connect the 3v3 pin on the Arduino to the top left pin of the NRF24L01. Finally, The 2nd pin gets set to D9, 3rd pin to D11. 6th pin to D10, 7th pin to D13, and 8th pin to D12. Now the Cylinder is set up correctly. Moving onto the LED Controller, connect the NRF24L01 the same way as the Cylinder. Connect the battery similar as well. For the switches, connect the power wire from the battery and switch to the 6 buttons. Each button will have a 20 ohm resistor between them. This is so we can detect the differentiating voltage between each press. All of the button presses will go to the Arduino on pin A0, Connect the end of the power to the LED and use the correct resistor depending on the LED used. The power for the LED will then be connected to pin 3 and finally connect the ground to the ground of the Arduino.
Program the Arduinos + Page Diagram
Here is the code to program the Arduinos. Both of these Arduinos have a "page" system where if we press button 1 or 2 it will change the page of the LED's which will grant us a lot more options for colors and animations. It should be pretty simple to follow, but as always let me know if you have any questions on it :)
The attached word document will show exactly what page has what animations on it to make it pretty easy to remember and follow.
Test and Enjoy!
I hope you all enjoyed this project. As always, if you have any problems, questions, or comments then please let me know! Thank you so much for your time and I hope you all the best with the project!