3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.


RainBoard - RGB LED Rainbow Fader

RainBoard - RGB LED Rainbow Fader
Introducing the RainBoard: A simple RGB LED Rainbow fader using an Arduino Uno and a few simple components. Believe it or not, we will control 45-channels of RGB LEDs at 32 brightness levels using only 3 digital pins from the Arduino! How is this possible you ask? By using two magic concepts: Shift Registers, and Pulse-Width Modulation.  Some of the schematics/images may seem daunting, but if all instructions are followed carefully, it should be easy to have this set up and running in less than 30 minutes (perfect for those that forgot to get that special someone a Christmas present this year!).

This is my entry into the Make it Glow Contest. And also my very first Instructable, I hope you like it!

Here's the schematic and the diagram of what we will be making.

Here's a video:

 
Remove these adsRemove these ads by Signing Up
 

Step 1Parts

Before we begin, here is a parts list of everything we will need for this Instructable as well as links to vendors where these items can be obtained. When designing this circuit I made sure to select common components that can be found just about anywhere that sells electronic parts. I found all of the items here on eBay, but many of the standard on-line electronics distributors (Digikey, Mouser, SparkFun etc.) should have these items in stock. I linked to SparkFun parts to make ordering easier.

2x  RGB LED Strip - 30 LED/m 1m

We need these to make the pretty rainbow effect! One of the most crucial  components as you can't make it glow if you don't have something to emit light. We need two because each strip will be cut into 10 sections and we need 15 sections total for our project. This will give us 5 sections as spares in case something goes  wrong.

2x Break Away Headers - Straight

These are to make the RGB LED strips easy to plug straight into a standard breadboard. Those RGB LED strips need power and we're going to give it to 'em! We will be soldering these onto the RGB LED strips, and each strip has 4 connections. Since we will be making 15 of these sections, we need 60 pins total, and each purchase comes with 40 pins. This will give us 20 spare pins in case we break them in the wrong spot.

6-8x 74HC595 8-Bit Shift Registers

These are the meat and potatos of the project. In order to make such a large amount  of wires connect to the Arduino, we need these shift registers to pass the information along to the RGB LED Strips. We only need six Shift Registers to make this work, but I always like to order extra.  That way, in case something happens to one or two of them, we still have the parts to complete the project. Just make sure to be careful if you only order six.

6-8x ULN2803 DIP 8-Channel Darington Driver

These are one of my favorite electronic components. I'm sure lots of you are familiar with a standard NPN Transistor. The beauty of these is that they are comprised of 8 transistors built in but all of them have a common emitter. This makes them a great item to sink lots of high current (up to 50v @ 500ma!) LEDs that share a common anode. These will be the muscle of our project. Again, we only need six of these, but as all of us know, good ol' Murphy's Law can play a part in any project. It's good to have backups.

2x Basic Breadboard

Any electronics project needs a breadboard. If you don't have any of these, I would suggest buying some even if you don't complete this project. Even for the simplest of circuits these things are worlds easier to use than alligator clips. We need two because we are going to be pulling the rails off of one side on both of the breadboards. This will let us move them closer to each other, giving us 3 channels to work with.

1x Arduino Uno (or other similar model)

Ahhh, the Arduino, how I love thee. I could write a tome about how much I love this  thing. I could write poems, love letters, Haiku's, and songs about this simple yet glorious device. This Instructable is long enough as is, so I will spare you all the
weirdnesss. We only need one of these as long as we are super careful with it. Be gentle to it and  it will love you almost as much as you love it.

1x 12VDC Wall Adapter Power Supply

We need to power this puppy and something like this should do. I use a prototyping power supply (Around $200) so not everyone has access to one. One of these will  work just fine as long as it's 12VDC, it's regulated, and has a 2.1mm center-positive barrel jack.

1x  Any way to connect things together.

My personal favorite are simple jumper wires. I always seem to run out of these so order a  few of them if you can. If not, simple 22  gauge solid-core wire and some wire-strippers will work like a charm (and much cheaper). I tend to use the jumper  wires for straight and short connections and use 22 gauge wire to for the long, awkward connections. This will keep things nice and neat.

1x  Soldering Iron

Any soldering iron will do, pick something around 30w if you can.

1x Third Hand (optional)

This isn't required, but will definitely help in step four!

Enough shopping, let's get to building!
« Previous StepDownload PDFView All StepsNext Step »
15 comments
May 1, 2012. 1:01 PMnpetrov says:
I want to ask the same?
Mar 28, 2012. 10:04 AMjayeshshinai says:
cool! is it possible to sync them to music and use them to build a mini dance floor? and add random colours etc etc? im not familiar with coding but i have a few frnds who could help me if im able to explain to them clearly...
Mar 2, 2012. 3:47 AMmoises_df says:
In the "INTRO:RainBoard" the schematic to show there´s power 12v in the leds together with the pin 10 uln2803. is it correct ?

The ULN2803 don´t need power in Pin 10 ???
Feb 1, 2012. 10:06 AMlnijs says:
can I make it fade more slowly? rather than have it change so fast, I'd want one color to be displayed for a longer period of time and then slowly fade to the next.

haven't checked the code yet, but I figure I'd just have to change some delay times ?
Jan 20, 2012. 1:13 AMspookyh says:
I am getting errors with CShiftPWM.cpp file while compiling. any suggestions ?
Jan 9, 2012. 4:25 PMkalo02 says:
This is an excellent instructable! I love your analogy for the shift registers too. I'm waiting on some parts so i can implement this into a solar powered, recycled bottle light fitting. Thanks for the instructable!
Jan 5, 2012. 7:30 PMBuild_it_Bob says:
This looks so interresting , I would like to study the code ...The RainBoard file doesn't have a pde file as it is an ino ? Just wondering if I am missing something ?
Thanks for the share, you did an awesome job !
Build_it_Bob
Jan 6, 2012. 4:42 PMAvrDon says:
Is there some code to try this out? Can someone tell me how to setup spi in Arduino with the 74C595? setBitOrder lsb or msb. setClkDividers and setDataMode
Thanks
Don
Jan 2, 2012. 1:27 AMipf_group says:
Nice )
Jan 5, 2012. 4:46 PMminhtungml29 says:
good
Jan 5, 2012. 4:35 PMwrongway says:
Hi otbpaintball,

Thanks for posting this project. This is just too kool! :0)
Jan 2, 2012. 7:45 PMwirenut1980 says:
Awesome project!
Jan 2, 2012. 2:10 PMMr.Jay-D says:
Perfect! This instructable has all the basic information I have been looking for to run multiple LEDS on the Arduino Uno I just received for Christmas! Thank you!

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
11
Followers
1
Author:otbpaintball