Instructables

RGBike POV - Open project

FeaturedContest Winner
Picture of RGBike POV - Open project
DSC04906.JPG
06062009812.jpg
DSC04909.JPG
DSC04979.JPG
RGBike POV also known as RGB POV for beginners to make at home

This i'ble is in constant update. If you're planning on doing something don't be afraid to drop a question.

I've always wanted a POV for my bicycle, specially a full colour POV capable of displaying text, images and small animations!

There are some cool POVs commercially available.
- SpokePOV from adafruit industries (and its i'ble)
- Monkeylectric's m132s
- Monkeylectric's recentely announced m464q

Unfortunately, the SpokePOV is only one colour, and the m132s, as I understand, doesn't have the ability to display images. Besides, I think these are a little too expensive for something that I will not use often.

So I though I would try to make my own with components I already had around. This way I don't have to spend any more money to try and play with a bicycle POV.

This project features:
  • 16 RGB (Red+Green+Blue) Light Emitting Diodes;
  • Arduino compatibility (Suposedely, I'll have to check that later);
  • Single layer printed circuit board, suitable for home fab;
  • All through hole componentes, suitable for beginners;
  • Hall effect sensor, for image synchronization;
  • Least number of componentes possible;
  • Unfortunately, only one side of the wheel is illuminated (check update).
  • Fits 26" wheels, I haven't had opportunity to try it in 20" and 24" wheels.

This project is also a open project. Anyone who wishes to participate is welcome. The contributions will be added to this instructable and published.

Update: I updated the board, so you can use only one board for lighting both sides of the wheel! But it won't work correctly in both sides for text...


 
Remove these adsRemove these ads by Signing Up
miaoyu6 days ago

Hey,my name is miaoyu.I
am a student.I am sorry to trouble you.But I
want to ask a question.I am doing an experiment to
study the luminance of each final pixel.My goal is get luminance of
pixels.I set the output file
openexr.I have got the value of standard solar irradiance in 700nm is
1.42666,then I use the conversion coefficient.That is,I converted irradiance to illumiance as my
lightsource input.



My whole code in pov is as below:



#version 3.7;
global_settings{ assumed_gamma 1.0 }
#include "spectral.inc"
#declare SpectralWavelength =700;

camera
{
angle 7.54371
location <camera_x,camera_y,camera_z >
look_at <0,0,0>
rotate <0,-31,0>
right x
up y
}

light_source {<sun_x,sun_y,sun_z>
SpectralEmission(3.99750132)
}

#declare geom_file_name = "pov-xyz.txt";
#declare spec_file_name = "pov-ref.txt";

         sphere
{

<x1-center_x,y1-center_y,z1-center_z>,
1.55
finish {
ambient 0
emission 0
specular ref
}
}

I have read the openexr source ,it says y channel stand for luminance,how can I set in pov ?

Above ia all my code in pov,whether need I set additional  output or statements to get my lumiance output.Beg your help.

Please tell me what program you use to compose and generate color image and animation file. Hex you register in microcontroller ATMega328p ? Plz help to me

noexit5 months ago
I keep reading that the TLC5940 will not support common cathode RGB LEDs, but your instructable says that it has to be common cathode? What are you doing differently to make this work?
Hazard (author)  noexit5 months ago
Oh! I think I got it.

Because here each color is sequentially driven, by controlling the power to each color sequentially in time, you are able to control the brightness independently.

If you power all colours at the same time, you will only be able to control the brightness of all colors (sum of the RGB, white).
noexit Hazard5 months ago
Okay, now that I read further, that's what I'm reading.

Thanks!
Hazard (author)  noexit5 months ago
I don't understand the question.
Where have you seen it as a problem? What do you mean it doesn't support?
I just searched "common cathode TLC5940", and I've seen other examples that it uses common cathode leds.

Maybe TLC5940 has limited sink current abilities. I don't recall. Is that what they mention? But in this application it has been accounted for. Besides, each color is powered sequentially, one at a time.
noexit Hazard5 months ago
Ok, I saw that on adafriut as their reason they only sell common anode RGB LEDs.

http://www.adafruit.com/products/314

"We carry and use CA more than CC because multi-LED driver chips (such as the TLC5940/TLC5941) are often designed exclusively for CA and can't be used with Common-Cathode."

I've seen it mentioned in a few other places too. Maybe it's a case of everyone parroting one source?
apedroso1 year ago
Ola Boa Noite! (vou usar o portugues mesmo)
Estou tendo algums problemas com o codigo! o arquivo bike_pov.zip contem as libraries utilizadas no codigo,mas qual destes arquivo realmente tem o codigo utilizado na gravação? eu tente o arquivo .c mas ele apresenta erros!
''SENSOR_DDR' Was Not Declared in this scope''
Obrigado pela ajuda!
sbrutal1 year ago
did you try to build the board by using, lets just say 64 pin or more microcontroller, i know it would require hell of a lot transistors, but it might shrink a lot size in board
dconnolley2 years ago
nice idea. way out of my range of capabilites, I thought of maybe one improvement. have some sensor like with a magnet. (just like how a speedometor works on a push bike) the whole induction loop thingy.
in order of keeping the image upright perhaps at any given speed. or to adjust image with speed.

Althought I have no idea how that would be accomplished :P
That's exactly how this device functions.
yeah your right I must have overlooked that whilst being distracted by the shiny objects.

okay well an actual improvement might be....
having a contact on the wheel like a copper coated contact disk, so if its 3 wires 3 contact points near the axle (example would be just like slot cars) that way the led light could be the only thing attached to the spokes not big heavy battery packs... if that makes sense. I figure if you had the circuit board on the wheel an it lost contact for a half second it may reset the board or something so just the Led's should be alright.
siddhanth4 years ago
 dude according to what i understand the hall effect sensor makes the circuit function independently/adjusts the POV according to RPM of the cycle tires right...? you have used a simple multispoked bicycle wheel. what about a MOTORBIKE wheel? can the same be achieved on 15'' or 17'' wheels?
Hazard (author)  siddhanth4 years ago
Yes, it adjusts to the RPM of the wheel. But I wouldn't try it on a motorbike. Too dangerous at high velocities.
 One can actually use it on motorbike IF it adjusts to RPM of wheel ;-) one must use a superglue to fix the stuff on the tyre along with electronic components else the stuff will come out in random direction due to torque acting on it...
Actually, you most probably cannot. First of all, never use superglue for that application. Superglue is NOT permanent, you would need to use an epoxy, and get the wheel balanced afterwards at a motorcycle shop.

Also, you are missing a vital point here.., you cannot simply extrapolate based on what you already know. For instance, at those speeds, it is possible that the inherent latency in the system would not allow for the display to refresh fast enough to display the image when you are going 60mph+ for example.

Also, you have no idea whether or not the hall effect sensor will be able to give you accurate reliable readings at those speeds.
T_T_2 years ago
I realize this would require another led driver, but how would someone go about making this for a 48 inch wheel?
ledartist2 years ago
I wish you can provide the schematic in PDF or other image format.
I don't have Eagle.

Here you go.
rgb_pov_single.png

Great! Thanks!

No problem
do you have the board layout in pdf and is there a sub for A3213
skirmish6662 years ago
Hey there, first of all I love the project - thanks for the hard work. I'm wondering if it is possible to modify this project to have multiple synchronised units on each wheel?
Thanks again!
suwarnoh2 years ago
Dear Mr.Hazard,

I truly like to make POV as you did.
I already have AVR ATM8535. But I still don't understand the concept of using sensor in POV circuit. On your project what is the function of hall sensor and to what uC pin do feed it. Please email to: suwarnokaraba@gmail.com.

I am from Indonesia.
dsandu2 years ago
Mr. Hazard,
Please tell me what program you use to compose and generate color image file. Hex you register in microcontroller ATMega328p / ATMEGA168 microcontroller from RGBike POV project.
D. Sandu by comraex@yahoo.com
Thanks!
kiler012 years ago
just to ask, do i have to own the arduino board to do this project? and if yes what is the exact part that i have to have? (i mean there are a few variations of it as i presume)
oaky82 years ago
Im really interested in doing this, but not for a bicycle
I want to mount these to the rim of a car wheel
Would the much high RPM's of the car rim cause problems?

Im not sure if the processor and hall sensor would be able to function fast enough to properly control the LEDs when the car is doing 30 mph or faster.
Maybe some how dividing the input variable of the hall by half would give the microprocessor more breathing room?

i know little about the microprocessor, would it be capable of keeping up with a car travelling 50 - 70 mph?

thanks!
any help would be highly appreciated
DAVID_A2 years ago
did you develop the software?
Hazard (author)  DAVID_A2 years ago
No, unfortunately I never had the time yet.
puenktchen2 years ago
Did yout start to programm a piece of software to convert normal bitmap images into the radial c-code format?
shifty3 years ago
Heya I think this project is great. Would you mind uploading the eagle library that contains the TLC5094? I've tried searching around the web and can't find one. Or is there some way to extract the eagle part from the .brd and .sch files? Thank you!!!

-Noah
Hazard (author)  shifty3 years ago
Hey! Thanks!
There is a way to extract from the files! weee
use the exp-project-lbr.ulp
02JanDal3 years ago
Two questions:

1. What are the values for R5-R7?
2. Can you use 2N2222 instead of PN2222?

JanD
Hazard (author)  02JanDal3 years ago
1. Anything in the range 5k - 15k Ohms works fine.
2. You can, if the pinout is the same.
Sladex3 years ago
How to define R5-R7?
rkt88edmo3 years ago
Has anyone successfully built the 2-sided version yet? Going to start the project but if only the single side has been successfully assembled I'd rather go that route and try building a 2-sided version later.
bruce3233 years ago
Hi Hazard & others -- When I wrote my long Aug 29 comment, I had formatted it to be much friendlier. But apparently the Instructables editor removes white-spaces etc, so now it looks like a jumbled mess. Let me know if you would like me to write it out more clearly in some way. I'm looking forward to hearing from you about any one or more of the topics I raised. -- Bruce P.
Hazard (author)  bruce3233 years ago
Sorry, I've been busy..
Yes, try to edit it in the rich editor, and see if it does work better
bruce323 Hazard3 years ago

Hello Hazard,

 

I agree with the others, good project!  It's clear that your experience extends well beyond this work, so whatever time you can spare here, I'm hoping to get your valuable input.  If it's easier, bruce323g@gmail.com, USA 541-231-1101.

 

My niece and her boyfriend are doing this to learn some electronics, and I'm helping.  This isn't 100% up-to-date but close: http://home.comcast.net/~bruce323/spokes/ .  To keep costs low and to get low-level experience, they actually hand-wired onto a 100mil plated proto board that I had available.  Lots of work, may turn out to have been a mistake, maybe next time we'll learn to do some etching at home, but anyway they're near hardware completion.

 

I'm sorry this is so long but I have the following ....(drum roll) ...

 

"TOP TEN LIST OF QUESTIONS ABOUT RGBIKE":

 

#10.  Can we eliminate the JP3 RXD/TXD connector.  Or if you used it productively, how; and is there any issue with it loading RST# at the wrong time and causing debugwire to fail. 

 

#9.  Briefly, what's the purpose for switches U$17 and U$24. 

 

#8.  For T1-3 we went with P-channel FETs, so we'll modify the code to invert drive polarity.  But do you know, when the 328P comes out of reset, are its IO's (hopefully) still tri-state, or are they driven (I hope not low) until programmed otherwise. 

 

#7.  We're using 32 LEDs and two cascaded TLC drivers but we haven't analyzed processor bandwidth .... do you know whether your 16 LED design has much bandwidth to spare, or are we almost certainly hosed? We're running ATMega328 also at 20MHz.

 

#6.  For U$18 we went with a crystal, and the external caps as shown on the schematic, but I'm nervous about mechanical, and from the .brd file it looks like you went with a resonator.  Is the resonator tolerance adequate and are you inclined to think we should change to the resonator?

 

#5.  When we bought the TLC parts, 5940's weren't available so we're using 5941's.  Two differences I remember about 5941's: a) lower current drive, we'll deal with it; b) they don't have EEPROM for dot correction.  Did you use the 5940 EEPROM for dot correction and would you expect we MIGHT see problems if we don't? Or maybe we'll make it happen with the 328P's EEPROM somehow. 

 

#4.  Do you have experience w/ how low a supply voltage your design can typically handle? (We're using 4 series NiMH's and we have more current load with our 32 LEDs). 

 

#3.  Your 16 LEDs are on 350 mil centers; our 32 LEDs (co-linear, same side of the board) are on 300 mil centers to fit the 100 mil proto board.  How did you decide on the image's "aspect ratio", so to speak -- (1) distance between the LEDs, vs (2) rotational angle for updating the array.  This may not be a clear question but if you have comments (are we hosed?), pls let us know. 

 

#2.  If we decided to go with your design as it is, would you ever consider supplying bare boards to folks like us for $$?

 

AND .......  (drum roll.... ) ...... the #1 question on the TOP TEN LIST ......... Yow, should we be paying you a consulting fee for all this?

 

Thanks for some or all answers!!!!

Hazard (author)  bruce3233 years ago

Hi! Sorry for the late reply. Here it goes

10 - Supposedly JP3 is pin compatible with FTDI usb-rs232 cable for using with the Arduino and bootloader. Never tried it myself.
I have never used debugwire. Check the datasheet for more information and typical schematic for using debugwire.

9 - Future expansions, like alternating between patterns and such.

8 - Detailed information can be found in the datasheet. Can't remember for sure from the top of my head.

7 - From my calculations when I did this project, I think we can connect 2 TLCs. But not much more :D

6 - I don't know if the crystal can be damaged. Other than that, you can use whatever :) Drift in frequency doesn't really matter in this application

5 - I did not use dot correction.

4 - How low? Depends on the TLC, the LEDs, and the voltage for the micro's running frequency. See the datasheets for the TLC and 328.
I bet it must be over 4V for the 328 to run at 20Mhz. (sometimes it can work with lower voltage than what they say)

3 - I am trying to understand the question..
I took no considerations on that matter :P But I think it worked just fine :D

2 - Sorry, but no. This project is a good exercise and works fine for a toy/hobby. But is not reliable for a final product.

1 - Yes please. Come buy me a beer or two, whenever you come to Portugal
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!