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 ...:)




Comments

author
ashishk77 (author)2017-07-19

what was the RPM of the motor to see the Text/Image and how did you transfer the power supply while spinning .
Thanks

author
msameer39 (author)2017-04-20

Awesome and simple brother. Any idea about showing a jpeg image thru LEDs?

author
fplaza freire (author)2013-12-09

Thanks for the tutorial, it helped me a lot.

author

Thanks...:)

author

is there a message in the code or can I upload the code directly to my board?

author
TasmiahC (author)2015-12-18

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

author
TasmiahC (author)TasmiahC2015-12-18

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);

}

}

}

}

}

}

}

author
RaulL (author)2015-10-03

If I'm using 8 LEDs how can I modify your code?
Thanks for sharing!

author
mali74 (author)2015-09-28

author
IñakiA (author)2015-05-27

I made it! But I have a question, do I have to move the leds in a single direction or both directions?

author
spaul bajo (author)2015-05-07

how did you compute the value of the letterSpace and dotTime variables?

author
hemangjoshi37a (author)2015-04-18

It's really easy and works fine.... Thax Glen.

DSCN1242.jpgDSCN1243.jpgDSCN1240.jpgDSCN1241.jpg
author
bhawick55 (author)2015-01-22

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?

author
DivideWorks made it! (author)2014-12-22

I started with your 5 LED display and built on that to make my globe. Thanks for sharing. Also, thanks to SintaxGamer for sharing the 0-9 digits. I'll see if I can run both loops to display text on the globe.

temp_2020854276.jpg
author

Cool !

author
Castlebek made it! (author)2014-12-01

NICELY SAID.. N VERY EASY TO FOLLOW :)

vlcsnap-2014-12-01-20h40m53s33.png
author
Castlebek made it! (author)2014-12-01

NICELY SAID.. N VERY EASY TO FOLLOW :)

vlcsnap-2014-12-01-20h40m53s33.png
author
satyasankar09 (author)2014-10-27

this is simplest..i have ever seen....thanks

author
tecno-mark (author)2014-10-27

Hi,where's the code to upload?please.

author
Glen P Yeldho (author)2014-10-21

printLetter(A);


printLetter(V);


printLetter(I);

printLetter(S);

printLetter(K);

printLetter(A);

printLetter(R);

printLetter(_);

Change last line of code to these ! :D

author
josue.castillo.923 (author)2014-10-06

how do the forloops work??

author
nasrudheen (author)2014-09-17

how do yo make this work?

author
ricky.shichibukai (author)2014-08-14

i didn't find step 3 and 4 here?? sorry?? can you help me?

author

there is no step 3 and 4

author
SintaxGamer (author)2014-08-24

very nice code, took the time to add 0-9 :)

int ONE[] = {1,0,0,0,1, 1,1,1,1,1, 0,0,0,0,1};

int TWO[] = {0,1,0,1,1, 1,0,1,0,1, 0,1,0,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,0,1,0,1, 1,0,1,0,1, 1,0,1,1,1};

int SIX[] = {1,0,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,0, 1,0,1,0,0, 1,1,1,1,1};

int ZERO[] = {1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,1};

author
TSJWang (author)2014-05-02

Thanks for making it really simple :D

author
jluna14 (author)2014-04-02

muy bueno

author
SmileSim (author)2014-03-31

Thanks for share.

It's very simple & interesting. ^^

author
Avadhut.Deshmukh (author)2014-02-21

r have clock time ? help code ?

author
MoonDocker (author)2013-12-21

Nice and simple. I am going to try this with a nano. Make it compact and easy to wave around. Thanks for sharing.

author
agarciaf (author)2013-12-01

Thanks for share.
I think there is a mistake in wiring diagram. The resistor should be in the negative leg (shorter leg) of the led.
Regards.

author
bottom-dragger (author)agarciaf2013-12-10

What difference could it make? It's in series w/ the LED.

author
abdullah sohail syed (author)2013-11-28

which Arduino uno u used

author

Arduino Uno Rev 3

author

usb or plug Arduino Uno Rev 3
how to program it?

author

Which arduino?
usb one or plug.
how to program it and where is the third step.

author

which type of Arduino Uno Rev 3
i)usb cable
ii) plug

author
liquidhandwash (author)2013-11-27

Thanks for posting, I was looking at the sketch, its a bit like that movie, you look at it long enough you can see the matrix.... or maybe I just need glasses :-)

author

Next time ,I will make a code searching glasses.....:)

author
Gabse (author)2013-11-27

Step 3 and 4 are very difficult :-)

author
Glen P Yeldho (author)Gabse2013-11-27

yea :)...indeed ....

About This Instructable

52,692views

108favorites

License:

Bio: Interested in everything that run on electricity!.....
More by Glen P Yeldho:Simple Arduino POV :)
Add instructable to: