Persistence of Vision Wand
by amandaghassaei in Circuits > Arduino
248084 Views, 608 Favorites, 0 Comments
Persistence of Vision Wand
![IMG_2620 copy.jpg](/proxy/?url=https://content.instructables.com/FJQ/2VV7/H1ENC1U0/FJQ2VV7H1ENC1U0.jpg&filename=IMG_2620 copy.jpg)
![IMG_2612 copy.jpg](/proxy/?url=https://content.instructables.com/FGH/NCPL/H1ERN089/FGHNCPLH1ERN089.jpg&filename=IMG_2612 copy.jpg)
![IMG_2593 copy.jpg](/proxy/?url=https://content.instructables.com/FHC/UGSA/H1ERN084/FHCUGSAH1ERN084.jpg&filename=IMG_2593 copy.jpg)
![Screen shot 2012-03-14 at 6.31.57 PM.png](/proxy/?url=https://content.instructables.com/FZW/N9T1/GZQR1MNC/FZWN9T1GZQR1MNC.png&filename=Screen shot 2012-03-14 at 6.31.57 PM.png)
![Screen shot 2012-03-14 at 7.03.06 PM.png](/proxy/?url=https://content.instructables.com/FQA/X3RI/GZPZMKBM/FQAX3RIGZPZMKBM.png&filename=Screen shot 2012-03-14 at 7.03.06 PM.png)
Persistence of Vision (POV) Wands are a fun way to create interesting long exposure photographs and light displays. The wand consists of a single row of LEDs controlled by an Arduino Uno. When the wand is turned on it appears to be flickering in a random pattern, but if you move it quickly back and forth, you will see text or an image appear. This wand project is incredibly customizable, I've included all CAD files, firmware, build documentation, and schematics. Feel free to choose your own color LEDs, write personalized messages, and maybe even add something new to the project!
Parts list:
(1x) Arduino Uno REV 3 Radioshack #276-128
(20x) Amber Super-bright LED Indicator Radioshack #55050630
(1x) Arduino Proto Shield Radioshack #276-140
(1x) 9V Alkaline Battery Radioshack #23-866
(1x) Heavy-Duty 9V Snap Connectors Radioshack #270-324
(20x) 1/4 watt resistors (sample calculation below)
from the specs of the LEDs I used:
"Continuous forward current: 25mA"
"Forward voltage: 3V"
using the following relationship:
V(volts) = I(amps) * R(ohms)
rearranged to:
R = V / I
we can calculate the resistance as follows:
voltage across resistor = 5V - 3V = 2V
2V / 0.025A = 80ohms
I used 100 ohm resistors so that the LEDs wouldn't be operating at their maximum ratings. Check the datasheet of the LEDs you use to calculate these values.
I've attaching a fritzing document with a breadboard and schematic view of the circuit (and included them above) for reference.
Parts list:
(1x) Arduino Uno REV 3 Radioshack #276-128
(20x) Amber Super-bright LED Indicator Radioshack #55050630
(1x) Arduino Proto Shield Radioshack #276-140
(1x) 9V Alkaline Battery Radioshack #23-866
(1x) Heavy-Duty 9V Snap Connectors Radioshack #270-324
(20x) 1/4 watt resistors (sample calculation below)
from the specs of the LEDs I used:
"Continuous forward current: 25mA"
"Forward voltage: 3V"
using the following relationship:
V(volts) = I(amps) * R(ohms)
rearranged to:
R = V / I
we can calculate the resistance as follows:
voltage across resistor = 5V - 3V = 2V
2V / 0.025A = 80ohms
I used 100 ohm resistors so that the LEDs wouldn't be operating at their maximum ratings. Check the datasheet of the LEDs you use to calculate these values.
I've attaching a fritzing document with a breadboard and schematic view of the circuit (and included them above) for reference.
Downloads
Build a Support for Your Wand
![IMG_0302 copy.jpg](/proxy/?url=https://content.instructables.com/FG8/PE4Z/GZSNYULU/FG8PE4ZGZSNYULU.jpg&filename=IMG_0302 copy.jpg)
![IMG_0305 copy.jpg](/proxy/?url=https://content.instructables.com/FIA/E2BN/GZQR3RGM/FIAE2BNGZQR3RGM.jpg&filename=IMG_0305 copy.jpg)
![IMG_0308 copy.jpg](/proxy/?url=https://content.instructables.com/FVR/K7IS/GZSNYUM0/FVRK7ISGZSNYUM0.jpg&filename=IMG_0308 copy.jpg)
![IMG_0330 copy.jpg](/proxy/?url=https://content.instructables.com/FZY/654W/GZPZMJWG/FZY654WGZPZMJWG.jpg&filename=IMG_0330 copy.jpg)
![IMG_0343 copy.jpg](/proxy/?url=https://content.instructables.com/FBG/S6EB/GZQR3RGP/FBGS6EBGZQR3RGP.jpg&filename=IMG_0343 copy.jpg)
![IMG_0347 copy.jpg](/proxy/?url=https://content.instructables.com/FD8/E7TL/GZQ40VGD/FD8E7TLGZQ40VGD.jpg&filename=IMG_0347 copy.jpg)
The first thing you'll want to do is make a mount for your project. I laser cut a piece of acrylic into a wand shape, but you could use a piece of plywood, cardboard, or plastic. I've attached the adobe illustrator and eps files of the wand and correct hole 0.1" hole spacing for the LEDs and resistors; even if you don't have a laser cutter, these files still might be useful to print out as a template. Drill out the holes with a drill and a small drill bit. The rectangular holes at the bottom of the wand will be used for mounting a 9 volt battery.
Add Resistors
![IMG_0352 copy.jpg](/proxy/?url=https://content.instructables.com/FNT/MQ5D/GZQR3RI7/FNTMQ5DGZQR3RI7.jpg&filename=IMG_0352 copy.jpg)
![IMG_0355 copy.jpg](/proxy/?url=https://content.instructables.com/FDK/FWBL/GZQR3RIH/FDKFWBLGZQR3RIH.jpg&filename=IMG_0355 copy.jpg)
![IMG_0356 copy.jpg](/proxy/?url=https://content.instructables.com/FT4/VM7J/GZSNYUNJ/FT4VM7JGZSNYUNJ.jpg&filename=IMG_0356 copy.jpg)
Thread the leads of all 20 resistors through their holes on the wand mount.
Solder Resistors
![IMG_0361 copy.jpg](/proxy/?url=https://content.instructables.com/FV4/63N1/GZQR1MK1/FV463N1GZQR1MK1.jpg&filename=IMG_0361 copy.jpg)
![IMG_0364 copy.jpg](/proxy/?url=https://content.instructables.com/F9Y/MV9N/GZQ40W8C/F9YMV9NGZQ40W8C.jpg&filename=IMG_0364 copy.jpg)
![IMG_0370 copy.jpg](/proxy/?url=https://content.instructables.com/FV9/XPGW/GZQR3S9C/FV9XPGWGZQR3S9C.jpg&filename=IMG_0370 copy.jpg)
![IMG_0373 copy.jpg](/proxy/?url=https://content.instructables.com/F8W/73RN/GZSNYV8Y/F8W73RNGZSNYV8Y.jpg&filename=IMG_0373 copy.jpg)
![IMG_0377 copy.jpg](/proxy/?url=https://content.instructables.com/FJV/LUQE/GZQ40W8I/FJVLUQEGZQ40W8I.jpg&filename=IMG_0377 copy.jpg)
![IMG_0379 copy.jpg](/proxy/?url=https://content.instructables.com/F34/PM8F/GZPZMK5Y/F34PM8FGZPZMK5Y.jpg&filename=IMG_0379 copy.jpg)
Each resistor is connected to an LED on one side and ground on the other. Bend one of the leads of each resistor so that they are touching each other and solder them all together in a row. Clip the excess metal from the leads. Leave the last lead unclipped so that it can be attached to a wire later.
Add Header Pins to Protoboard
![IMG_0384 copy.jpg](/proxy/?url=https://content.instructables.com/FC9/F76X/GZQR3SG1/FC9F76XGZQR3SG1.jpg&filename=IMG_0384 copy.jpg)
![IMG_0388 copy.jpg](/proxy/?url=https://content.instructables.com/F0D/A2HZ/GZPZMK6D/F0DA2HZGZPZMK6D.jpg&filename=IMG_0388 copy.jpg)
![IMG_0390 copy.jpg](/proxy/?url=https://content.instructables.com/FBA/YL36/GZPZMK6E/FBAYL36GZPZMK6E.jpg&filename=IMG_0390 copy.jpg)
![IMG_0394 copy.jpg](/proxy/?url=https://content.instructables.com/F09/JRHO/GZQR3SK9/F09JRHOGZQR3SK9.jpg&filename=IMG_0394 copy.jpg)
![IMG_0400 copy.jpg](/proxy/?url=https://content.instructables.com/F0E/CTFN/GZQR3SM4/F0ECTFNGZQR3SM4.jpg&filename=IMG_0400 copy.jpg)
Solder header pins to the pins connections on the arduino protoboard. Make sure you are soldering them on the correct side! For best results I recommend soldering the first and last pins first (as in figure 3), then check to see if the pins are straight and flat on the board (figure 4). If they need to be adjusted it will be much easier with only two pins soldered down. Once everything is lined up, solder the middle pins (figure 5).
Attach Toggle Switch
![IMG_0402 copy.jpg](/proxy/?url=https://content.instructables.com/F8E/Z5C7/GZSNYVLO/F8EZ5C7GZSNYVLO.jpg&filename=IMG_0402 copy.jpg)
![IMG_0404 copy.jpg](/proxy/?url=https://content.instructables.com/FDR/HUAE/GZSNYVM6/FDRHUAEGZSNYVM6.jpg&filename=IMG_0404 copy.jpg)
![IMG_0414 copy.jpg](/proxy/?url=https://content.instructables.com/FDZ/0GUO/GZQ40WCD/FDZ0GUOGZQ40WCD.jpg&filename=IMG_0414 copy.jpg)
Solder the toggle switch onto the middle of the arduino proto-shield as shown in the images above. Solder a jumper wire between the side lead of the switch and the Vin pin on the proto-shield.
Attach Battery Connections
![IMG_0418 copy.jpg](/proxy/?url=https://content.instructables.com/FGW/HMZJ/GZQR3STH/FGWHMZJGZQR3STH.jpg&filename=IMG_0418 copy.jpg)
![IMG_0421 copy.jpg](/proxy/?url=https://content.instructables.com/FFS/TBOZ/GZQ40WCK/FFSTBOZGZQ40WCK.jpg&filename=IMG_0421 copy.jpg)
![IMG_0415 copy.jpg](/proxy/?url=https://content.instructables.com/F49/HTRZ/GZSNYVO9/F49HTRZGZSNYVO9.jpg&filename=IMG_0415 copy.jpg)
Solder the red lead of the battery connector to the middle pin of the switch. Solder the black lead of the battery connector to the ground pin of the protoshield.
Wire Up LEDs
![IMG_0657 copy.jpg](/proxy/?url=https://content.instructables.com/F67/A7QY/GZPZMKCA/F67A7QYGZPZMKCA.jpg&filename=IMG_0657 copy.jpg)
![IMG_0661 copy.jpg](/proxy/?url=https://content.instructables.com/FXB/WBQ5/GZQR3SUD/FXBWBQ5GZQR3SUD.jpg&filename=IMG_0661 copy.jpg)
![IMG_0665 copy.jpg](/proxy/?url=https://content.instructables.com/F1G/3DL5/GZQR3SU1/F1G3DL5GZQR3SU1.jpg&filename=IMG_0665 copy.jpg)
![IMG_0679 copy.jpg](/proxy/?url=https://content.instructables.com/FXS/I2S4/GZQR1N4T/FXSI2S4GZQR1N4T.jpg&filename=IMG_0679 copy.jpg)
![IMG_0687 copy.jpg](/proxy/?url=https://content.instructables.com/F10/4SPE/GZQR3STU/F104SPEGZQR3STU.jpg&filename=IMG_0687 copy.jpg)
Attach wires to each of the LEDs on the wand. As you solder each connection, clip the excess lead off the end of the LED (figure 3).
Connect LEDs to Arduino Shield
![IMG_2455.JPG](/proxy/?url=https://content.instructables.com/F45/QEP4/H0OD8ZG8/F45QEP4H0OD8ZG8.jpg&filename=IMG_2455.JPG)
![IMG_2453.JPG](/proxy/?url=https://content.instructables.com/F5X/UCSR/H0ODJMH1/F5XUCSRH0ODJMH1.jpg&filename=IMG_2453.JPG)
![Screen shot 2012-03-14 at 7.03.06 PM.png](/proxy/?url=https://content.instructables.com/F8Q/CF1D/GZPZMKCE/F8QCF1DGZPZMKCE.png&filename=Screen shot 2012-03-14 at 7.03.06 PM.png)
![Screen shot 2012-03-14 at 6.31.57 PM.png](/proxy/?url=https://content.instructables.com/FZW/N9T1/GZQR1MNC/FZWN9T1GZQR1MNC.png&filename=Screen shot 2012-03-14 at 6.31.57 PM.png)
Strip the ends of each of the LED wires and connect to the pins of the arduino proto-shield. Be sure to follow the pin connections below correctly, I've also attached the breadboard diagram from fritzing (figure 3), the left-most LED is the top of the wand and the right is the bottom. In the schematic (figure 4) the left most LED is the bottom and and right most is the top. You can find the fritzing file below.
Pin connections:
Top of wand
1 Digital Pin 13
2 Digital Pin 12
3 Digital Pin 11
4 Digital Pin 10
5 Digital Pin 9
6 Digital Pin 8
7 Digital Pin 7
8 Digital Pin 6
9 Digital Pin 5
10 Digital Pin 4
11 Digital Pin 3
12 Digital Pin 2
13 Digital Pin 1
14 Digital Pin 0
15 Analog Pin 5
16 Analog Pin 4
17 Analog Pin 3
18 Analog Pin 2
19 Analog Pin 1
20 Analog Pin 0
Bottom of wand
Pin connections:
Top of wand
1 Digital Pin 13
2 Digital Pin 12
3 Digital Pin 11
4 Digital Pin 10
5 Digital Pin 9
6 Digital Pin 8
7 Digital Pin 7
8 Digital Pin 6
9 Digital Pin 5
10 Digital Pin 4
11 Digital Pin 3
12 Digital Pin 2
13 Digital Pin 1
14 Digital Pin 0
15 Analog Pin 5
16 Analog Pin 4
17 Analog Pin 3
18 Analog Pin 2
19 Analog Pin 1
20 Analog Pin 0
Bottom of wand
Connect to Ground
![IMG_2454.JPG](/proxy/?url=https://content.instructables.com/FZO/0LM7/H0OD8ZGF/FZO0LM7H0OD8ZGF.jpg&filename=IMG_2454.JPG)
Strip both ends of a (preferably black) wire and connect the unclipped resistor lead to a ground (gnd) pin on the arduino shield.
Upload Firmware
![Screen shot 2012-04-05 at 6.11.19 PM.png](/proxy/?url=https://content.instructables.com/FTG/XRZ7/H0OJ256E/FTGXRZ7H0OJ256E.png&filename=Screen shot 2012-04-05 at 6.11.19 PM.png)
Download the POV wand firmware below and upload it onto your arduino board. If you have trouble uploading be sure that nothing is connected to digital pins 0 and 1 and that you have selected the correct board and serial port under the Arduino/Tools menu.
This code stores a set of binary arrays onto the arduino that generate each letter in the alphabet. When the arduino reads the message you would like to display it compares each letter to one of its stored letters and then outputs the stored array column by column. You will insert your own message into the arduino firmware in a later step.
This code stores a set of binary arrays onto the arduino that generate each letter in the alphabet. When the arduino reads the message you would like to display it compares each letter to one of its stored letters and then outputs the stored array column by column. You will insert your own message into the arduino firmware in a later step.
Downloads
Attach Battery and Arduino Board
![IMG_2591 copy.jpg](/proxy/?url=https://content.instructables.com/FWA/IXZP/H1G7000M/FWAIXZPH1G7000M.jpg&filename=IMG_2591 copy.jpg)
![IMG_2464.JPG](/proxy/?url=https://content.instructables.com/F3M/PEAN/H0OJ0IJB/F3MPEANH0OJ0IJB.jpg&filename=IMG_2464.JPG)
![IMG_2465.JPG](/proxy/?url=https://content.instructables.com/F5X/VY59/H0OJ5FSC/F5XVY59H0OJ5FSC.jpg&filename=IMG_2465.JPG)
![IMG_2466.JPG](/proxy/?url=https://content.instructables.com/FN0/NLP0/H0OIU9VY/FN0NLP0H0OIU9VY.jpg&filename=IMG_2466.JPG)
![IMG_2467.JPG](/proxy/?url=https://content.instructables.com/FNY/Z6DM/H0OIU9W0/FNYZ6DMH0OIU9W0.jpg&filename=IMG_2467.JPG)
![IMG_2468.JPG](/proxy/?url=https://content.instructables.com/FXR/TT2T/H0OIYT3B/FXRTT2TH0OIYT3B.jpg&filename=IMG_2468.JPG)
![IMG_2469.JPG](/proxy/?url=https://content.instructables.com/FD4/JJYP/H0OJ2565/FD4JJYPH0OJ2565.jpg&filename=IMG_2469.JPG)
Use zip ties to secure battery and arduino to wand mount. Flip switch to power on and off. You should read the words HELLO WORLD on startup.
Create Your Own Messages
![Screen shot 2012-04-05 at 5.58.03 PM.png](/proxy/?url=https://content.instructables.com/F3F/QAZR/H0OIU9WA/F3FQAZRH0OIU9WA.png&filename=Screen shot 2012-04-05 at 5.58.03 PM.png)
![Screen shot 2012-04-05 at 5.58.15 PM.png](/proxy/?url=https://content.instructables.com/F6I/FG7T/H0OJ256A/F6IFG7TH0OJ256A.png&filename=Screen shot 2012-04-05 at 5.58.15 PM.png)
Figure one shows the line of text you will need to edit to create your own messages. Replace the worlds HELLO WORLD with any message in all caps with no punctuation. You can create your own characters and images by generating matrices of 1s and 0s, follow the example given in figure 2, the letter J.