Magic POV Wand (yet another POV toy)

 by rleddington
Display.JPG
Parts.JPG
DiagramII.bmp
With Handle.JPG
schematic.bmp
NEW!  (7/12/2009) This kit has been upgraded to a professionally manufactured circuit board and the price has been reduced to only $8 per kit. (For educators, a classroom set of 32 kits is being offered for only $5.50 per kit.)

This Persistence of Vision (POV) toy is simple to assemble and fascinating to play with.  It is a good introduction to digital electronics and soldering.  It works by flashing each column of “pixels” in rapid succession producing the illusion of text in mid-air.  You can program in your own messages using two push-buttons.  The message is saved in “Flash” memory and will remain in the MCU’s (PIC16F628a) memory even when powered off.  The message can be changed as often as you like.

This POV toy is similar to the MiniPOV3 with a few important exceptions:

*  Button cell battery - more portable.  Easier to mount onto a bicycle or other spinning object.
*  Change the message without using a computer.
*  Less components to solder in.
*  Less expensive ( Now only $8! 

Buy kits at www.chinchillasoft.com/projects.aspx

Watch Video: http://www.youtube.com/watch?v=SAk2QtPzHrU
 
Remove these adsRemove these ads by Signing Up

Step 1: What you need

circuit.jpg
Tools:

Soldering iron
Solder

Everything pictured here is included in the kit.  If you already have most of these components, you can order the circuit board and/or the programmed chip individually.

ID Qty Part
A 2 Momentary Push-buttons
B 7  Diffuse Red LEDs
C 7 200 ohm resistors
D 1 Mini Slide Switch
E 1 18-pin IC Socket
F 1 Programmed Integrated Circuit
G 1 CR2032 Button Cell Battery
H 1 Button Cell Battery Clip
I 1 Engraved Circuit Board
1-40 of 102Next »
Pieter Jamneck says: Jan 14, 2013. 11:12 AM
Hi,
Check out my videos:
http://www.youtube.com/watch?v=-MieUpclCfI
http://www.youtube.com/watch?v=10EoIdXPkQc
Regards
Pieter

Pieter Jamneck says: Jan 13, 2013. 6:21 AM
HI,

I have build the POV with the IR interface, works great!!!! Thanks for all the help on the hex file!
I will post a shortcut as soon as I uploaded my video to Youtube.

Thanks Again!!

Kind Regards

Pieter
rleddington (author) in reply to Pieter JamneckJan 14, 2013. 8:50 AM
Excellent! Nice job Peiter, I can't wait to see the video.
Pieter Jamneck says: Jan 7, 2013. 10:22 AM
Hi,
I found the two line's in the code and un comment them. SourceBoost gives me an error:

"Faled to open debug/new code.hex"
"Failed"
Sorry for all the posts, I dont know Source boost that good. Thanks for all the help!

Regards

Pieter
rleddington (author) in reply to Pieter JamneckJan 10, 2013. 11:15 AM
No problem Pieter, I sent the modified .hex file to your e-mail. Let me know how it goes. If anyone else reading these comments wants to syncronize the POV toy with a sensor to stabilize the image, just let me know and I'll send you the modified .hex file. (rleddington -at- gmail dot com.)
Pieter Jamneck says: Jan 6, 2013. 9:56 AM
Hi,
Thanks for the reply.

Stil does not want to compile!! I think its me doing something wrong.
Could you please email me the changed hex file. pieter@dieseli.co.za

I am going to use a NPN transistor to pull RB0 to GND via a IR TX&RX.
Thanks again for you reply!!!

Kind Regards

Pieter
rleddington (author) in reply to Pieter JamneckJan 7, 2013. 7:47 AM
Here’s what you need to do:
In SourceBoost, right-mouse-click on the project name and select “Add file to project”
Then navigate to:
C:\Program Files\SourceBoost\Lib\eeprom.pic16.lib

Add that to your project. Then try building again.
Pieter Jamneck says: Jan 3, 2013. 10:04 AM
Hi
I have tied to edit the code with sourceboost but no result. I want to activate RB0 as a input for a speed switch as per you commet below "Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with "while(1)" . Inside of that loop you'll put something like:
while(RB0); // Wait for RB0 to go low
while(!RB0); // Wait for RB0 to go high
That should just sit there until RB0 is pulsed, then it will display the message and go back to waiting for the pulse."

Any help PLEASE!!!

Regards
Pieter
rleddington (author) in reply to Pieter JamneckJan 3, 2013. 5:22 PM
Hello Pieter,

You may have changed the code in the wrong while loop. The one to change is at the very end of the code in the main() routine. The lines you need are already there, you just need to un-comment them. Give that a try and if you're still having problems, I can probably build you a hex file and e-mail it to you.

while( 1 )
{
showMessage(message,address);
while(portb.0);
while(!portb.0);
delay_ms(7);
};
The Wheel says: Nov 24, 2012. 6:40 AM
Can you make the .hex file for a pic16f84a please? I would appreciate it!
rleddington (author) in reply to The WheelNov 24, 2012. 8:17 PM
Hello, I'd love to help, but I'm afraid the program wouldn't work on the 16F84. For one, the 16F84 doesn't have as much program memory as the 16F628 so the program wouldn't fit. Also the 16F84 does not have internal oscillators so you would also have to change the hardware by adding some sort of clock input. Then you would have to change the timing to match your oscillator. You'd be better off just ordering a programmed 16F628 chip for a $3.50 at www.chinchillasoft.com/purchase.aspx.
The Wheel in reply to rleddingtonNov 24, 2012. 11:38 PM
OK, thanks anyway. The problem is that in my city momentary aren't any 16f628s. I can order them with 4-5$ but it's not so important. I have pic programator and i sucsessfully programed a 16f628 with the hex you uploaded and it's working perfectly.
jacoman says: Nov 11, 2012. 1:44 PM
I made my pcb and it works. I put it on a piece of wood to make a propeller and then on a motor, but the image is instabl iIt runs too fast and flashes.
How many rpm need i to have for a stable image?
Many thanks for this project it's really amusing.
rleddington (author) in reply to jacomanNov 12, 2012. 3:17 PM
I expect around 200rpm would be ideal depending on the length of the message. If you want the image to be really stable, you are going to want to add a syncronization signal of some sort. RB0 is tied to a weak pull-up resistor so if you can have a switch that connects RB0 to ground momentarily each time around the circle at the exact same spot, it would be easy to syncronize the message from there. You would have to change the program to wait for the signal before displaying the message. Many POV toys have a tilt switch to signal the start of the message but that won't work for a spinning propeller because the tilt switch would never activate. You would need some sort of brush contact or a non-touch sensor such as a hall-effect switch or an infrared emitter/detector pair. It would be fun to play with a motorized propeller, I just havn't taken the time to do it.
jacoman in reply to rleddingtonNov 12, 2012. 5:17 PM
Thanks for your reply and your kindness.
Well I can put a hall effect to RB0 with a magnet to have impulse.
How can I change the program to wait for the signal before displaying the message?
rleddington (author) in reply to jacomanNov 13, 2012. 7:13 AM
Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with "while(1)" . Inside of that loop you'll put something like:
while(RB0); // Wait for RB0 to go low
while(!RB0); // Wait for RB0 to go high
That should just sit there until RB0 is pulsed, then it will display the message and go back to waiting for the pulse.
jacoman in reply to rleddingtonNov 14, 2012. 7:48 AM
I have a ss495a hall sensor but I don't know if it's OK, it works on 5v.
I guess gotta find one 3v, right?
Thanks
rleddington (author) in reply to jacomanNov 14, 2012. 9:56 PM
I bet it would work for 3V. If you want, you can always change the voltage in the circuit to 5V. I think the PIC has an operating range from 2.5V to 6V. The resistors should be fine too, the LED's will be just a little bit brighter.
The Wheel says: Nov 4, 2012. 7:10 AM
https://www.dropbox.com/sh/ttlk6mgdmnmufex/OvTufAw9RC

Here is my schematic and pcb for eagle. It's working perfectly!
rleddington (author) in reply to The WheelNov 4, 2012. 3:07 PM
Excellent! nice work.
The Wheel in reply to rleddingtonNov 5, 2012. 9:06 AM
Thanks. I'll post a video of it later. How did you convert the .c file to .hex?
rleddington (author) in reply to The WheelNov 5, 2012. 3:47 PM
I compile using SourceBoost's C compiler. Here's a link: http://www.sourceboost.com
The Wheel in reply to The WheelNov 5, 2012. 9:13 AM
a, and I made the pic programer too. It uses PICPgm software. Here is the schematic and pcb. https://www.dropbox.com/sh/n2khzy8il9o5h5v/1UwTn6Z-QW
nodoubtman says: Jul 12, 2012. 9:33 AM
works with pic16f628a?

thanks!
rleddington (author) in reply to nodoubtmanJul 13, 2012. 5:52 AM
Did you get it working? It should work with 16F628A.
nodoubtman in reply to rleddingtonOct 24, 2012. 10:04 AM
yes i finally did, i had to shake it a little :)

thank you!
marC:)
rleddington (author) in reply to nodoubtmanOct 24, 2012. 8:25 PM
Excellent! I found that putting it on the end of a stick and then use a nail or something on the other end of the stick to spin it in a big circle works really well. Congratulations!
nodoubtman in reply to rleddingtonOct 19, 2012. 8:23 PM
how can i use it?? and see the letters finallY?? :(
rleddington (author) in reply to nodoubtmanOct 20, 2012. 4:44 PM
Huh?
nodoubtman in reply to rleddingtonJul 13, 2012. 6:27 AM
not working yet :(
i will try it again, does 220 ohm resistor is okay?

thanks!
marC:)
rleddington (author) in reply to nodoubtmanJul 13, 2012. 4:44 PM
220 should be fine, however if you're using blue LEDs, you will need to change the voltage to 5-6 volts.
nodoubtman says: Oct 23, 2012. 5:12 PM
only one led is lit up brighly the others are not too bright, is it normal??

thank you!
marC:)
nodoubtman says: Oct 23, 2012. 12:57 PM
do you have to make it turn to see the letters?? with a motor ??

thank you so much!
marC:)
turkin_ar says: Sep 13, 2012. 9:57 PM
Hi! i'm very new in this world of pics.. i download de .c and i can't compile it with CCS, because i don't have system.h and eeprom.h.. Where can i get them?? This pov is very simple, it's excelent. Congratulations!!
rleddington (author) in reply to turkin_arSep 14, 2012. 5:47 AM
Hello! Welcome to the fun world of pics. Although CCS is an excellent choice of compilers, this particular program was written and compiled with the SourceBoost compiler. That's why you're having problems getting it to compile. I'm sure it's possible to tweek the program so that it compiles with CCS but if you're new to programming, it's probably easier to download SourceBoost and use it for this project. Check it out at www.SourceBoost.com. You can also just download the .hex file and skip the compiling unless you want to change the code.

Thank you for you kind words. This was a really fun project to develop. Feel free to contact me anytime. You can get my e-mail address from my website www.chinchillasoft.com.
anilbotsa says: Jul 2, 2012. 11:25 PM
Can we buy this kit?
rleddington (author) in reply to anilbotsaJul 3, 2012. 5:54 AM
Sure no problem. I sent you an email.
nodoubtman says: Jun 17, 2012. 8:25 PM
I'm sorry but i did the circuit many times, and it doesnt do anything special!

thanks!
rleddington (author) in reply to nodoubtmanJun 18, 2012. 6:32 AM
Hmm. Were you able to get the chip programmed and verified? Did you test the circuit without the programmed chip? How can I help you?
nodoubtman in reply to rleddingtonJun 18, 2012. 7:16 AM
thanks for your response i appreciate greatly!
I have verified the chip, i have successfully programmed the chip too, but in the dark, i only see blue spot on the wall, i don't see any letters, let me know how to use it..

thanks!
marC:)
1-40 of 102Next »
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!