In this Instructables I will show you how to use the RGB Strip Color Picker tool.
What is RGB Strip Color Picker?
RGB Strip Color Picker is a tool I have created for controlling the colors of your LEDs connected to an Arduino via your computer. It has a simple yet elegant and informational design. There are several different lightning modes and effects that you can choose from, as well as speed and direction on some.
Let's get going!
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Setting Up Your Arduino
Note: You will need the Arduino IDE installed on your computer, otherwise the serial communication will not work. Also, I only have access to 2 different RGB strips currently. If you have a strip different from the ones below, contact me and tell me the specifics so I can add it to the list.
First off, you need to set up your Arduino. Start by downloading the Arduino sketch from the GitHub page. It is located in the 'Arduino Sketches' folder inside 'RGB Strip Color Picker'. You need to download the correct Arduino sketch for your specific RGB strip. Here is a guide on which sketch you will need to download:
If your RGB strip has 3 wire connections labeled GND, +5V and DIN, download the one called 'RGBStripDIN.ino'. You will also need an external Arduino library called 'FastSPI_LED2' found on GitHub.
If your RGB strip has 4 wire connections labeled R, G, B and +12V, download the one called 'RGBStripRGB.ino'.
If your specific RGB strip has not yet been listed here, please message me and we can add it.
Before uploading the sketch, make sure to edit it and change the number of LEDs you have in your strip (only needed for those with adressable strips). Upload the sketch to your Arduino board. Now you need to connect the RGB Strip to the Arduino. Here is a guide on how you should connect the strip depending on what kind of strip you have:
If your RGB strip has 3 wire connections labeled GND, +5V and DIN, you will need to connect the +5V line to Arduino 5V line, GND to Arduino GND and finally, DIN to Arduino digital pin 9. You can use another digital pin, but make sure to change the Arduino sketch to the correct pin.
If your RGB strip has 4 wire connections labeled R, G, B and +12V, you are required to make a little more advanced circuit. Fortunately, Make: has already created a indepth tutorial on how to set it up. Click here and follow the instructions all the way until you reach the part where they connect the Arduino to an Android device, at around 3 minutes. You will not do that but instead download the correct Arduino sketch mentioned above and upload it to the board.
Once you have the correct sketch uploaded to the board and the strip is connected, you can move onto the next step.
Step 2: Setting Up RGB Strip Color Picker
You've gotten through the hard part, congratulations!
Download the RGB Strip Color Picker from GitHub to your computer. It is currently only available on Windows, but Mac and Linux support is coming! Once you have the program, open it up and make sure your Arduino is plugged in via USB. It should work right out of the box but here are some things you need to take note of:
- You will not be able to send data to the Arduino if the serial line is busy. This means that you can not have the serial monitor open as you are going to apply a lighting mode. The program will open and close the serial stream just as it's about to send data, so you can use the serial monitor if you're not changing the lighting mode.
- You will need to check what COM-port your Arduino is connected to. This is easily done by opening the Arduino program and going to Tools>Port. Most of the time, you will see something like in the picture above. If not, try to upload a test sketch and make your way through all available options until you successfully push it to the board.
- The Baud-rate of the Arduino sketch and the Color Picker program must be the same. The default for both of them is 9600, and you should only change it if you really have to.
You are ready to start exploring the program. The following steps will go through all the menu tabs one by one, but I recommend you to take a look yourself before continuing.
Step 3: The Overview Tab
The Overview menu is the first thing you will encounter when opening the program. This holds some general information that can be good to read when starting out.
Step 4: The Lightning Tab
This is the tab that you will be spending most of your time at. In here, you can pick from different modes that the strip will light up in.
- The first mode, Static, will let you choose a color that the strip should light up in. The light will remain unless changed to a different color or mode. Selecting the 'Black' color will turn the LEDs off completly. The 'White' color will make the LEDs shine in full brightness. However, most strips are not calibrated right and will have a slight tint of red, green or blue. You will most likely be using a custom color. Use the hue bar to select a color.
- The second mode, Rainbow, will set the strip to cycle each LED in RGB pattern. This will give a "rainbowy" effect and is my personal favourite. This will however not work if you have a non-adressable strip. If your strip is non-adressable, all LEDs will display the same colors but still go through a rainbow pattern. You can also choose the direction and speed of the rainbow cycle.
- The third mode, Cycle, will set the strip to cycle between red, yellow, green, cyan, blue and magenta. You can choose what speed the strip should change in.
- The fourth and final mode, Fade, will set the strip to fade out from a color and then back to a different one. You can choose whether the color should change similair to the Cycle mode or pick a random color. You can also set the speed of the fading.
If there is a mode or setting missing that you would like to add, please contact me so we can get it fixed.
Once you have selected the type of lightning you want, you can click 'Preview' to see a little snippet of how the lightning will look like. Please note that this will not give the same feel as having actual lights on in said color, so you should always try to apply a color if you think you will like it.
When you're happy with your color or mode, click 'Apply'. This will try to connect to your Arduino via the COM-port and Baud-rate specified in the options tab (addressed later on). If it's set up correctly, the lights should turn on and shine in your desired color or mode.
Step 5: The Instructions Tab
This tab is kind of useless if you have already made it to this guide. In there you can find links to this Instructable and other great sources of information.
Step 6: The Options Tab
In the 'Options' tab, you will find different settings that you can change.
- First off, the COM-port setting will allow you to change what port your Arduino is connected to. If the COM-port is wrong, the program will not be able to send any data.
- The second setting, Baud-rate allows you to change the Baud-rate of the program. This should stay at the default of 9600 unless you really need it to be higher.
- The third setting called Dark mode is purely estetic. It has no other function other than changing the color theme of the program.
You can also test you connection by clicking the 'Test your connection on current settings' text. If the COM-port is wrong, the text will become red. If the COM-port is correct, the text will become green and the LED connected to pin 13 will blink rapidly for a short while. The lights will also turn off. If the COM-port is correct but the Baud-rate isn't the same on both devices, the text will turn green but the LED on pin 13 will not flicker.
Step 7: The Credits Tab
This tab, like the Overview tab, is just for general information. In here you can read how to contact me and contribute to the project via GitHub and find me on my Twitter. You can also mail me at email@example.com.
If you have any problems or questions, don't hesitate to ask. If you got it working properly, send me a picture of your LED setup! I'd love to see all of your projects.
Thank you for reading this Intructable! :)