Feb 252010
 

So, it was pinewood derby time for the Cub Scouts again. My son’s pack has a race for the adult kids too. I had been plotting my car since last years races. I wanted to really light the thing up.  Last year I had working head and tail lights, but this time I wanted bigger and better. I was just not sure what form it would take. I had considered many options. The most predominant idea was using an accelerometer to change the light settings based on force. The problem was that I wanted the lighting to stay very minimal until race time so that the surprise factor would be maximized. I was leaning heavily towards the Arduino Pro 3v due to it’s nice and tidy size. After more thought I started heading away from the accelerometer and started thinking about using an XBee to control the Arduino remotely.  Then while shopping at Sparkfun one day, I stumbled upon the Funnle IO board and that locked the plan together.

Funnel is an Arduino based board, with the added benefit of having an on board Xbee socket. Plus it is tiny, has a 3.2v line in (for  LiPo), and a LiPo charger onboard too.

I ordered the stuff from Sparkfun and started designing the circuits. The mental picture was to make 2 stripes that ran down the sides of the car. These would be able to blink, pulse, fade, and ripple. Then on the 4 corners I wanted to have a very bright strobe light effect that would strobe at about 1 pulse per second. The idea was something like a jet preparing to take off and the taxiing lights. I put together a breadboard mockup.  I decided to use the 6 PWM outputs for the stripes. This way I could make them flow however I wanted. I worked on many different ideas for making a slow PWM roll. I finally found that to make the lights really roll along, I needed to have more than one set as the rolling motion is much more pronounced when repeated in a longer strip. The thing started to take form.

I decided to use 3 sets of 6 LEDs on each side, but instead of running down the sides, they would actually sit on top of the car like some evil menacing engine. I did not want big bumpy 5mm LEDs all over it (which actually might just be cool), so I went with surface mount. All the LEDs and resistors are 1206. 36 LEDs at 20ma each would easily exceed the max draw for the Funnel, so I built a driver board to take the load off of the FIO. The driver board was nothing fancy, just a few small 2222 transistors (sot-23).

One thing I had a great amount of fun with was designing empty spaces on the board. Once the board was designed, it was quickly clear that though functional, it was hardly cool looking. There was a still ton of blank space, so I decided to decorate the PCB. It was arts n crafts time with Eagle Cad. So, I spent a couple of hours just playing with shapes. By about noon the next day, I had the board etched, and all soldered up, and was ready to start testing. I uploaded the code to the funnel and started to play. I had some problems with one the channels of strip lights. It turned out to be a transistor that was not completely seated on the board. It looked soldered, but when I heated it up and pushed down on it, it just sank. It was a quick fix and it worked great from there on out.  I made sure that the xBee was working, but mainly stayed on the ftdi cable during the remainder of programming and testing.

After designing the car, I needed to route out the innards where everything would fit. This was a little easier on paper than it was in wood. Eventually, it started to come together. Making a long story short, I got everything together and it worked great. This was my first real Xbee project. I really liked that I got feedback from the car which was sitting like 60 feet from me. Of course I had to program the Arduino to do so. All I needed to do to trigger an effect was just type a letter into the serial command box in the Arduino IDE. I had about 14 different things I could have it do.

Edit: (News) – My car is on Sparkfun’s Front Page!!! Call it my Andy Warhol 15 seconds. :0)

Edit: (Clarification) – No, I am not employing a “joule thief” circuit in the car. We get to name the cars, and I felt that the name fit. Some folks have asked if this is an “official scout issued” PWD kit. Yes it is, but I used 2 kits. The finished car is legal weight, but just scraping by. The wood weighs almost nothing as it is more or less, a shell.  When I weighed it after finally getting all together, it was over by quite a bit. I had to hollow out just about every place that was thick enough to be drilled. I avoided the spaces right around the wheel grooves as I did not want it to bust through during the race. If you look at the front picture on the video, in the reflection in the glass you can see where I had hollowed out the sides. Drilling a car that was already completed was a pucker factor of about 12. I really thought I was going to blow out one of the sides. But even that was not enough, when it raced, it did not have the left screw in place as it pushed the car over the legal weight of 5 oz..

Eagle Boards, Schematics, and Arduino Code

May 062009
 


We had a staff meeting at work. The topic of discussion was Relay for Life. Our department usually participates in some way. This year, there was the challenge of making a car out of boxes which would be carried around the track at midnight in a race. requirements were simple. It had to make it out of a box (duh), and it must have headlights. Seeing mass geek potential, I volunteered to build the car. I am not one to go to if you just want dirt simple.

I started to plan a rugged, heavy duty, off road kind of thing. Soon after we got a fairly massive UPS. The box was perfect. It was this crazy heavy duty cardboard. There was also this wonderfully shaped packing foam in the box, so that got grabbed as well.

One of the women who would be carrying the car is a cancer survivor. So, this was a custom build, just for her. She said that her car was going to be pink. Pink? Really? um… ok then. She said that we could also have purple trim if we liked. I decided on duct tape, and gaffers tape for the construction and vehicle color. Inspired by the shape of the foam, I set out to build her a hummer. A BIG PINK AND PURPLE HUMMER!

For the headlights, I wanted to go over the top. I decided that this thing needed a operational lighting system. Sure, we could throw in some flash lights, but I wanted bigger, and far brighter.

I have been experimenting with white LEDs for a camera flash system I have been working on. I decided to make panels of LEDs for the head lights. But really, how safe would a car be if there no brake lights, and blinkers? So, I made some LED panels for the rear too with real working blinkers and brake lights. This was all connected to an Arduino (Boarduino) through some FETs. I used 2n2222 for the left, and right blinkers as there was not as much amperage to worry about (Only 16 LEDs). There are 40 LEDs on the each brake light and and 40 each on the headlights. I got hit in the eye a few times with one of the head lights, and it was a wee bit painful. The brakes are each on PWM pins on the Arduino so that they could be slightly lit (because they are on when you turn on your headlights, right?), but then have the ability to go full bright during left and right blinking, as well as braking, all of which was controlled from a little button box. On the back wall of the car I made a LED ribbon out of pink LEDs. My initial intention was to do a 4 channel chase with the ribbon, but there was just not enough time.

The Relay night came. They took the car out to the track. They kicked on the lights and the 80 10,000 mcd white LEDs in front really lit the place up. They had a good time racing the pink beast around the track. Our car won for design.