First off, I've entered this Instructable into a couple of contests. I'd appreciate a vote if you feel like it deserves one or two. On with the show:
So, I'm sitting at a family Christmas party and I ask my nephew (who is an avid BYU fan) why his wheelchair didn't have any flashy lights on it. He told me that he had flashy wheels but they wore out. I told him that he needed some sweet blue and white LEDs that would give his wheelchair an under glow. He agreed. I accused him of supporting the University of Utah because his wheelchair is red and our conversation quickly degraded into name calling and expressions of general disdain towards each other's sports teams (Go Ducks!). In short, it was a perfect family Christmas party.
The next day, I set about getting the necessary supplies and designed a small set of sweet blue and white lights for his wheelchair.
Step 1: Parts and Tools
Parts for this project were simple:
Wire - 1.5 feet each of red, black, and green wire
Project box - I used an Altoids tin because, well, why not?
Tape - electrical tape and duct tape (not pictured)
Velcro - Just enough for the top and bottom of the Altoids tin with a little extra for the battery
Battery - USB power supply (not pictured). I used a 2200mAh battery that I picked up for about $5.00
Arduino Nano - Low power consumption and small form works perfect for this project. Large amounts of memory were not needed as the sketch is small and simple.
LED Lights - I used a 1.5 foot length of WS2812B lights on this project. Each light is addressable and programmable to by just about any color you want. This project didn't push the limits of these lights but could be easily expanded.
2 Small Rubber Grommets - Since I was using a metal tin with sharp edges, I wanted to protect the wires. I saw these at the local hardware store and inspiration ensued.
Breadboard - This little guy is critical to make sure that you plan is going to work before you solder everything together. This isn't a required step but it's kind of like "measuring twice and cutting once." It is just good practice.
Prototype Board - Something has to hold the project together and this is it. Besides, the sheer "wow you made that" factor is totally worth it when showing it off to your family.
USB Extension Cable (not pictured) - This needs both a male and female USB end. I'll explain this later
USB Power Cable (not pictured) - Any USB cable with a standard male end will work here. Alternatively, if you decide to use something other than a battery with a USB connector, you just need a way to plug it into your project.
Tools were easier than the parts:
Drill and bits - For drilling holes in the project box.
Soldering iron and solder - For soldering.
Helping hands - Because I only have two hands and three would have been ideal for this project.
Multi-meter - Because nothing works right the first time.
Wire cutters and strippers - For wire cutting and stripping.
Step 2: Prepare the Box
I have a love/hate relationship with Altoids tins. I always seem to have them laying around when I don't need them and can never find one when I do need them. The latter was the case here. After a late night run to the store I was ready to go. This project needed three holes drilled in the tin. One for the battery wire, one for the output wire, and one for the switch.
Once the holes were drilled, I taped the inside of the box with electrical tape because, you know:
metal + electricity = something is not going to work.
I put the rubber grommets in the two wire holes.
Step 3: Setup the Lights
First, this is not an Instructable about the WS2812B. I am just going to go over the basics here. If you want more than what I am giving here, just search for "ws2812b" on this site and you will easily have 100s of Instructables on these little guys.
The lights that I used are a strip of ws2812b lights. You can find them here
If you look at the first picture, you can see that each light has an input for +5v, a ground, and a data line. My strips were cut to size and I needed to solder wires onto each of the contact points. I used about a foot of wire for each of the leads then taped the whole thing up when I was done soldering.
On a side note, I did learn something interesting here: Initially, I was going to try to have the lights run down the legs of the wheelchair and point forward. My original plan was to split the data line so that I could minimize the number and length of wires running around the chair. This didn't work because the data signal got messed up after splitting the data line from one to two. Instead of the lights being blue and white, they ended up some weird orange and pink color.
Upon further reflection, this was a good thing. The blue and white LEDs would have blinded anyone who even glanced at the chair because the LEDs would have been so bright. Additionally, the extra wires would have found a way to catch on something and pull the whole thing apart.
Step 4: Program and Test the Arduino
Here's a lesson I learned early on:
Arduinos can be touchy if you run too much power through them. These lights can draw a lot of power and easily max out the capabilities of the Arduino. Many a chip of mine has been sent to the recycler due to carelessness on my part. If this is going to happen, it's best to happen before everything is soldered together.
Now would be the time to test your circuit on a breadboard. You are going to need to program your Arduino anyway so do it here.
To run these lights, I used the FastLED library from fastled.io. Take a look at their website if you need help installing the library or writing the sketch. There are lots of tutorials online that can give varying amounts of details. This is my favorite.
I will be the first to admit that this application was simple at best and very much an under utilization of the abilities of the Arduino and these lights. It is possible to program these lights to do different things based on different inputs. Buttons or dials could be added that would make the lights flash or change colors. I opted not to do that in this case, but I made sure that when I fit the whole project together I still had room to plug the Arduino into my computer with a minimum of fuss for easy reprogramming of the lights.
Step 5: Connect the Lights and the USB Cables
Here's the thing. Wheelchairs get dirty and need to be cleaned. It was important that any portion of this system that wasn't affixed to the chair could be disconnected and removed so that the chair could be cleaned. I wanted to be able to disconnect the control box and battery from the lights easily. After trying a few different things, I settled on a USB extension cable. I cut the cable in half and connected one end to the leads that I had just soldered to the lights and the other to the prototype board.
You can see from the picture that I went black to black and red to red. That gave me power (red) and ground (black) to the lights. Instead of going green to green, I went greet to white. I did this because it seemed like a clever thing to do at the time. Really, there was no good reason for this.
Don't forget to first run the cable through the grommet before soldering the wires to the prototype board. If you do forget, shoot seamster a line. You might get an idea or two about how to make impossible things fit in impossible places...or just unsolder it and try again.
Just as a little deserved credit here. My 9 year old daughter helped me by doing the soldering on the wires. She did a pretty good job for just learning how to solder. I'm pretty proud of that kid. I'll get off my dad box and continue now.
Step 6: It's Time to Put the Board Together
Before you solder the Arduino to the prototype board, you will need to score down the center of the board do break the width-wise connection across the board. If you don't do this, your Arduino will short itself out. Once you have scored the board, use your multi-meter to make sure that the connection between the two sides of the board are broken. In my case, I did this by checking columns 9 and 8 in each row. Take a look at the picture and you will see what I mean.
Locate the Arduino on the end of the prototype board making sure that the pins on the Arduino are on opposite sides of your score marks. If you are doing this with the same parts that I did, you will need to make sure that you leave room for the switch in the box. If your Arduino is too far back, it will get in the way of the switch.
Solder your bits and pieces together then clip the pins short. Again, this is for the on/off switch that will go in. If you don't clip the pins short, your board will be in the way of your switch.
Step 7: Wire Up the Power Switch
This was a particularly difficult step. As I mentioned earlier, I chose to use a USB battery for my power supply. This was good because it could easily be disconnected and recharged, but to be honest, those little wires are hard to deal with and my fingers are not what you would call petite. I'm not known for dexterity and fine motor movement.
If you are using a USB battery as your power supply, cut your second USB cable leaving plenty of wire on the USB type A side of the cut. If you don't know which side is the type A connector, click here.
If you have already put the switch in the tin because you thought that it would look cool (you were right) take it out. You need to be able to reach the screws on the switch to put connect your wires.
Connect the red wire to the VIN pin on your Arduino. Connect the black wire to one end of your switch. Using about a 6 inch piece of black wire from your kit, connect the other end of the switch to the GND pin on the Arduino. Solder it up and fit everything in the box.
Last but not least, glob a few spots of hot glue on the prototype board where your wires are connected. This will protect the connections from any unexpected stresses put on the board by wires accidentally being pulled on the outside of the box.
Step 8: Put the Lights on the Wheelchair
While planning this out, I noticed that there was a bar directly under the seat of the wheelchair that would be perfect for an under glow effect. The bar was high enough that any wires were unlikely to get snagged on anything and far enough in the middle of the chair that it wasn't something that people would grab.
The strip of LEDs that I used had a sticky back so I removed the protective strip and used the adhesive to secure the lights to the chair. Just for good measure I put a bit of duct tape on the ends to protect the wires. Because I had extra wire, I ran the red, black, and green wires along the top of the bar and secured them on the other end. This both allowed me to secure the wires and protect any bends that I had to put in the wires.
I placed Velcro on both the battery and the Altoids tin and secured them in place. I made sure that all the wires were wrapped up and that nothing was dangling.
Wherever you end up putting the lights, keep these points in mind:
- The lights need to be fairly protected. You can get coated strips that will be a little more resilient but that doesn't mean that they can be close to the ground.
- The wires can't dangle. Anything that can get caught will get caught on a wheelchair. Even if the chair is just getting pulled in and out of a car, dangley things get caught.
- The switch needs to be easy for the person in the wheelchair to reach. This is pretty self explanatory.
- The battery will need to be charged. The battery should be easy to get to and should be removable so that it can be charged without the wheelchair needing to be pulled close to a power outlet.
Step 9: Test It Out
Flip the switch and let it rip. After a couple of seconds, the Arduino finishes loading and the under glow lights turn on. It was important that my Nephew was able to reach the switch easily so we toyed with the location a little but in the end, it stayed where it was originally planned. It was out of the way, protected, and easy for him to reach. Now he can show his colors (even if they are the wrong ones).