Introduction: Simple Arduino POV :)
Parts needed :
: Arduino uno x 1
: led x 5
: 1k resistor x 5
Step 1: Wiring
Connect all the wire as shown in the figure :
Digital pin 2 to led 1
Digital pin 3 to led 2
Digital pin 4 to led 3
Digital pin 5 to led 4
Digital pin 6 to led 5
don't forget the resister ...!
.............................................................................................................................
Possible improvement
# custom shield for arduino
# adding battery
# adding more led 's
.............................................................................................................................
and upload the sketch and you are left with an amazing pov display...:)
Step 2: Sketch
Upload the code ...:)
Attachments

Participated in the
Make It Glow Contest
37 Comments
5 years ago
what was the RPM of the motor to see the Text/Image and how did you transfer the power supply while spinning .
Thanks
6 years ago
Awesome and simple brother. Any idea about showing a jpeg image thru LEDs?
9 years ago on Introduction
Thanks for the tutorial, it helped me a lot.
Reply 9 years ago on Introduction
Thanks...:)
Reply 7 years ago
is there a message in the code or can I upload the code directly to my board?
7 years ago
Salam, ur algorithm worked with my device nicely. Iwanted to make a digital clock with this algorithm and that's why in the "void loop()" section I made this modification.
void loop()
{
for (r=0; r<3; r++)
{
printLetter(NUMBER[r]);
q=0;
for (q=0; q<10; q++)
{
printLetter(NUMBER[q]);
printLetter(TIMEDOT);
p=0;
for (p=0; p<6; p++)
{
printLetter(NUMBER[p]);
k=0;
for (k=0; k<10; k++)
{
printLetter(NUMBER[k]);
printLetter(TIMEDOT);
j=0;
for (j=0; j<6; j++)
{
printLetter(NUMBER[j]);
i=0;
for (i=0; i<10; i++)
{
printLetter(NUMBER[i]);
delay(s);
}
}
}
}
}
}
}
But it is not working except with the portion counting for seconds. Can u please help me solving this problem???
Thanks
Reply 7 years ago
My full Code:
int s=1000;
int i;
int j;
int k;
int p;
int q;
int r;
int ZERO[] = {1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,1};
int ONE[] = {1,0,0,0,1, 1,1,1,1,1, 0,0,0,0,1};
int TWO[] = {1,0,1,1,1, 1,0,1,0,1, 1,1,1,0,1};
int THREE[] = {1,0,1,0,1, 1,0,1,0,1, 1,1,1,1,1};
int FOUR[] = {1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1};
int FIVE[] = {1,1,1,0,1, 1,0,1,0,1, 1,0,1,1,1};
int SIX[] = {1,1,1,1,1, 1,0,1,0,1, 1,0,1,1,1};
int SEVEN[] = {1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,1};
int EIGHT[] = {1,1,1,1,1, 1,0,1,0,1, 1,1,1,1,1};
int NINE[] = {1,1,1,0,1, 1,0,1,0,1, 1,1,1,1,1};
int TIMEDOT[] = {0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0};
int* NUMBER[] = {ZERO,ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE};
int letterSpace;
int dotTime;
void setup()
{
// setting the ports of the leds to OUTPUT
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
// defining the space between the letters (ms)
letterSpace = 4;
// defining the time dots appear (ms)
dotTime = 3;
}
void printLetter(int letter[])
{
int y;
// printing the first y row of the letter
for (y=0; y<5; y++)
{
digitalWrite(y+2, letter[y]);
}
delay(dotTime);
// printing the second y row of the letter
for (y=0; y<5; y++)
{
digitalWrite(y+2, letter[y+5]);
}
delay(dotTime);
// printing the third y row of the letter
for (y=0; y<5; y++)
{
digitalWrite(y+2, letter[y+10]);
}
delay(dotTime);
// printing the space between the letters
for (y=0; y<5; y++)
{
digitalWrite(y+2, 0);
}
delay(letterSpace);
}
void loop()
{
for (r=0; r<3; r++)
{
printLetter(NUMBER[r]);
q=0;
for (q=0; q<10; q++)
{
printLetter(NUMBER[q]);
printLetter(TIMEDOT);
p=0;
for (p=0; p<6; p++)
{
printLetter(NUMBER[p]);
k=0;
for (k=0; k<10; k++)
{
printLetter(NUMBER[k]);
printLetter(TIMEDOT);
j=0;
for (j=0; j<6; j++)
{
printLetter(NUMBER[j]);
i=0;
for (i=0; i<10; i++)
{
printLetter(NUMBER[i]);
delay(s);
}
}
}
}
}
}
}
7 years ago
If I'm using 8 LEDs how can I modify your code?
Thanks for sharing!
7 years ago on Introduction
8 years ago on Introduction
I made it! But I have a question, do I have to move the leds in a single direction or both directions?
8 years ago on Introduction
how did you compute the value of the letterSpace and dotTime variables?
8 years ago on Introduction
It's really easy and works fine.... Thax Glen.
8 years ago on Introduction
Can i apply the same code to make a POV with 7 LEDs on a rotating base like of motor?
Would i need to change the delay between letter?
8 years ago on Introduction
this is simplest..i have ever seen....thanks
8 years ago
Hi,where's the code to upload?please.
8 years ago on Introduction
printLetter(A);
printLetter(V);
printLetter(I);
printLetter(S);
printLetter(K);
printLetter(A);
printLetter(R);
printLetter(_);
Change last line of code to these ! :D
8 years ago on Introduction
how do the forloops work??
8 years ago on Introduction
how do yo make this work?
8 years ago on Introduction
i didn't find step 3 and 4 here?? sorry?? can you help me?
Reply 8 years ago on Introduction
there is no step 3 and 4