In this guest video Andrei from the Electronoobs channel shows you how to build a spinning POV LED display.
Check out his channel here and subscribe!
https://www.youtube.com/channel/UCjiVhIvGmRZixSzupD0sS9Q
Forum: http://www.eevblog.com/forum/blog/guest-video-electronoobs-building-a-pov-display/'>http://www.eevblog.com/forum/blog/guest-video-electronoobs-building-a-pov-display/
EEVblog Main Web Site: http://www.eevblog.com
The 2nd EEVblog Channel: http://www.youtube.com/EEVblog2
Support the EEVblog through Patreon!
http://www.patreon.com/eevblog
Donate With Bitcoin & Other Crypto Currencies!
https://www.eevblog.com/crypto-currency/
EEVblog Amazon Store (Dave gets a cut):
http://astore.amazon.com/eevblogstore-20
T-Shirts: http://teespring.com/stores/eevblog
💗 Likecoin – Coins for Likes: https://likecoin.pro/ @eevblog/dil9/hcq3

What's up my friends! Welcome back! I'm Electron moves from the Electrolux channel thanks to Dave offer for guest video we all have the opportunity to share our channel with you guys so thank you very much! Dave for doing this. You're awesome If you're not familiar with my channel, well I'm an electronic engineer here in Spain and I started my youtube channel one and a half years back. I Don't have a main topic on my channel since I like to do any sort of electronic related project but you will basically find a lot of DIY videos where I show you how to make a project, start to finish and also explain you how the circuit works at the same time. you will also find a lot of Arduino stuff basic circuits, drones, 3d printing, and much more So once again they take you for this opportunity for all of us and thanks to you guys for being so awesome in this today's video we will see how to build a POV display so please enjoy what's up my friends welcome back! This is a per System of Vision or better know a POV display and it's based on Arduino The LEDs are blinking so fast while the propeller is spinning that you get the illusion that the lead from the LEDs is drawing shapes since the lights are always turning on in the same spot.

In this project we will see how to show text time as a real clock or any other shape. So how we managed to keep this so synchronized. The secret is the small magnet here and the whole sensor. Okay so let's see how to build our own homemade an Arduino based POV display.

So let's get started. What's up my friends! Welcome back! Let's see how to build this awesome POV display that could show text time or any other shape. So we have a line of LEDs here in my case, eight green, LEDs two red and one blue. We also have a DC motor that will spin the entire propeller.

The Arduino inside will control the LEDs and turn them on and off when needed in order to synchronize each spin on the other side of the propeller. I've placed a whole sensor switch. This sensor will give a low post each time that I place a magnet in front of it and high post the rest of the time as we can see here on my oscilloscope. I Now have five volts.

I approach the magnet and the voltage drops to ground. Simple right? So here is how easy this will go. We will create an interruption inside of the Arduino code that will detect the low post given by the whole sensor using a time counter. We measure the time it takes the propeller to make a full spin by measuring the time between each post given by the whole sensor.

If we know the time for a full rotation, we could easily calculate the time for just one degree just by dividing the full time that we have just measured by 360 degrees. Great! Let's imagine for this example that we want to draw a full line at 45 degrees. I Will use this prototype on the PCB to show you first how this work. Each time we detect a low post of the whole sensor, we will also reset a second counter named a laps loop counter and that will give us the zero point.
So we start with all of the LEDs turned off inside of the main loop. We will always count the time with the second loop counter. We know the time it takes to make just one degree, so we could easily obtain the time it takes to make 45 degrees. In this case by multiplying that value by 45.

When the elapsed loop counter, it's higher than 45 degrees. We turn the LEDs on and after just one more degree, I turn them off. That will give us the full line of LEDs at 45 degrees while spinning. and since the system is synchronized each loop with the whole sensor, we will always have the line at exactly 45 degrees.

I First upload the code to this prototype made on a PCB. As you can see, I have the battery in the middle, the sensor on one side of the PCB and the LEDs on the other. The Arduino will do all the fast switching of the LEDs I Place the magnet on my workshop table and start spinning. The prototype put my drill at the medium speed I get the hot sensor close to the magnet and there you go.

I Always have a line at 45 degrees because the whole sensor will synchronize the time and also reset the counter for each loop. Now that we know the basics of a POV clock, let's build this awesome project! I've got my eight green, one blue and two red LEDs for each lav. We will need a 100 ohm resistor to limit the current and also to make sure that we won't burn the LEDs The prototype is built using a 3.3 volts Eight Megahertz Arduino Pro Mini. due to its size and voltage.

With this, Arduino I could directly use a Triple Seven votes Lipo battery cell with no external voltage regulator and that will simplify the project a lot. But after some tests, I realized that I need more than eight megahertz to make this project fast enough for that. This time I will use the Arduino Nano with the two S7 Point 4 volts battery connected to the V in pin. We will also need a hall sensor switch.

I've used the A three, one four, four, Hall sensor. Make sure you use a hall sensor switch, not a lineal sensor that will give you a little output depending on the magnetic field. Finally, we will need some drilled PCB a sliding switch, wires and the 3d printed case that I designed together with some eight millimeter screws, nuts and bearings. If you don't have a 3d printer, you should manage to build your own prototype as I did in this example and build support maybe out of wood or acrylic.

Just make sure that the PCB propeller it's well balanced and keep heavy components as Center as you can. This is the schematic for this project. Download it from a link below and have it in front of you while soldering. I've used my dear Creole TCR Ten 3d printer and 3d printed this case.

for this project. you have the files in the description below. As always, these files includes the main case, the back lid, the motor support, the two legs for the bearings and the top bearing supports. This should be the final shape of the entire project.
Use entry screws and nuts to fix everything in place as I did on this piece of wood. Let's mount the project first of all on a separated small drill PCB that will fit inside of the case I solder the eight green LEDs in a straight line, then the two red ones and finally the blue one. All the LEDs are sharing the ground pin which is the shorter one. As you can see here where all the negative pins are soldered together.

Then to each of the positive pins, I solder a 100 ohm resistor. Once that is done, I stole her a long enough wire that will later be soldered to the Arduino pins. I grew in place the PCB on the 3d printed case so the LEDs are facing the hole in the case so we will see the light on the other side now. I solder each LED wire from digital pin D 2 to D 12 as in the schematic: I Also connect the ground wire now on a separated smaller PCB I solder in place the whole sensor with a pull-up 1k ohm resistor between 5 volts and the signal pin and solder.

Three wires for 5 volts, grant and signal I Go the hall sensor PCB on the other side of the propeller with the sensor on the outside of the propeller. Finally, I solder the three wires from the sensor to ground 5 volts and digital pin 13 which is the pin that will create the interruption. I Sold up the slide switch and glue it on the back lid. connect the battery to a jumper pin so I could later take it out for recharge I Connect the other pin from the switch to the V in pin and we are done.

now. When I turn on the switch, the Arduino it's powered I've placed the eight millimeter screw to the hole with nuts and washers and tied the nuts. I Also add two eight millimeter hole bearings that will be placed on this 3d printed support. The screw will also have a 3d printed pulley connected to a DC motor that will spin the entire propeller.

on the bottom part of the support. I Place this neodymium magnet close enough to the hall sensor. That's it. Before we look over the code, we have to make sure that the propeller is balanced without touching the propeller.

It should always be as horizontal as possible. Okay, so this is the finished POV clock with the code already uploaded to the Arduino Nano. Now let's look over the code that you could also download from a link below. Make sure you read all the comments in the code in order to understand it.

This is the pure V clock code. You also have the pure V text display code below, but I will only explain this one. Okay, so first read all this part. where I define the variables that we will need such as counters, time constants, and so on.

In the setup void, we prepare the registers for the pin state interruption that will create the interruption service routine each time. Pin 13 in this case will change its state. Also, we define digital pins to 212 as outputs and set them to low. Using these registers, we will use register control for this project instead of digital right since in this way, the switch will be much much faster.
Just as an extra example in a new sketch, I Use digital write high on pin 3 followed by digital write low with no delay in between. Since the Arduino Uno works as 16 megahertz, this should create a very fast pause. I Applaud the code and observe the signal on the oscilloscope. Now I do the same, but using register control that will change the output value of any pin directly by changing the register value.

As you can see, the time difference between those two examples is Huge. That's because digital, right? It's a pre-written function that takes a lot more to be executed. Okay, back to our code. in the interruption routine, we measure the time it takes to make a full rotation, counting the time between each pose given by the whole sensor.

On digital Pin 13 in the void loop, we count the time that has passed since the last reset which occurred at the last hole sensor pause. so we know the time it takes to make just one degree. so we could easily calculate how much time it takes to make any amount of degrees. Using another timer, we count seconds, minutes, and hours.

So for example, if it's 3 o clock, we should have an hour indicator at 90 degrees. So using an If statement when the elapsed loop counter it's higher than 90 degrees, I've turned on the green LEDs and after just one degree I turn them off. That should give me the line at 3 o'clock That's it. You've got your pure V clock.

And by the way, this is not real time since the clock will reset each time you turn off the Arduino if you want the real time just start the Arduino at exactly 12 o clock and you're good to go. Mount everything inside of the 3d printed case. I Blow the code and close the case I Power the POV clock and turn the DC motor. The speed shouldn't be too high, but neither too low.

There you go. I've got myself an awesome homemade POV clock. Pretty cool, right? You've got an example code for writing text as well in the description below. Download it and read all the comments in the code in order to understand it how it works.

It's more than the same as in this example: just turning on enough LEDs at a fast enough speed so your eyes won't tell the difference. I First used the blue LED to create the perimeter of the clock, but I've made an error using the green LEDs for the lines since those are not that bright. So I've decided to not turn the blue LED because that it's so bright that you can see the lines anymore here. in case of the prototype that I've made before, look how bright are the white? LEDs So there is definitely space for improvement for this project.

may be using white LEDs for the lines. So we have learned how the POV display works, how to make one, how to use registers to control the digital outputs, and how to manage pin, change interrupts on, and count time, and get everything synchronized. Also, how to use a house sensor and a magnet to count each rotation speed. By the way, there is no battery charging including in this Kemetic Probably that will be a future upgrade for now.
Just unplug the battery for extended recharge and you're good to go. If you like this kind of projects, check my Patreon page and support my workshop through there. I Would really, really appreciate that guys since I spend a lot of money and time for each project like this. Also, check my Electron Loops web page for a lot of more tutorials and also my Q&A forum and create a new question there so me or any other member could answer it.

I Hope that you enjoyed this tutorial on POV display. If so, don't forget to click the like button like crazy and share the video with your friends. If you have any question about this video or any other, just leave it in the comment section below or on my Q&A page. Also, don't forget to subscribe and watch all of my other great tutorials.

Remember, if you consider helping my project, check my patreon page as well. Thanks again and see you later guys!.

Avatar photo

By YTB

26 thoughts on “Guest video: electronoobs – building a pov display”
  1. Avataaar/Circle Created with python_avatars Dan says:

    cool project but you can buy a usb desk fan/pov clock for like $10

  2. Avataaar/Circle Created with python_avatars dario martin says:

    Thanks forma sharing…

  3. Avataaar/Circle Created with python_avatars Joel Murphy says:

    love this project. Please keep blowing minds!

  4. Avataaar/Circle Created with python_avatars Paxmax says:

    It was a nice hands on approach, liked it.

  5. Avataaar/Circle Created with python_avatars Antoine Roquentin says:

    if you spin it too fast, the electrons will fly off the arduino

  6. Avataaar/Circle Created with python_avatars AggressiveFun says:

    I like the guest videos. Good build! Thanks Dave!

  7. Avataaar/Circle Created with python_avatars Abdulazeez says:

    Very nice video

  8. Avataaar/Circle Created with python_avatars Drunken Panda says:

    NICE Channel… Thank You!

  9. Avataaar/Circle Created with python_avatars Trinidad says:

    Cool to see that FPS Russia also does electronics.

  10. Avataaar/Circle Created with python_avatars Sven Michiels says:

    Nice project, but i'm a bit bothered by obvious mistakes/things you didn't address :s.
    – if your blue led is too bright, just put a larger value resistor on it?
    – if you make it a clock, at least address that without a proper RTC module, you'll have a lot of drift. the clock won't be accurate at all
    – as a programmer, you're really making it difficult to continue listening to you when you start talking about the void loop >_<… it's the loop function, void is just its return type. I see a lot of newbies calling it the void loop, but at least try to teach newbies the correct terms for things so they can communicate properly with others.
    – if the wheel is perfectly balanced, it should be stable in any position, if it's not balanced, the heavier side will go to the bottom, so you have to add weight to the opposite site of what is naturally on the bottom. It's not the more horizontal the wheel is the more balanced it is.

  11. Avataaar/Circle Created with python_avatars J.T. Johnston says:

    Cool project! Thanks, Dave for sharing your audience with this guy. I will be watching more of his stuff!

  12. Avataaar/Circle Created with python_avatars AndGuitar says:

    Great channel! Subscribed! 🙂

  13. Avataaar/Circle Created with python_avatars McBong's Lab says:

    nicely explained 🙂

  14. Avataaar/Circle Created with python_avatars BrunoPOWEEER says:

    Cool channel mate… Subscribed hermanooooo
    Spanish POWEEEEEERRR… hahaaa

  15. Avataaar/Circle Created with python_avatars adyagiler says:

    "whats up guys!" … unsubscribe!

  16. Avataaar/Circle Created with python_avatars Glensen says:

    Holy crap, sorry Dave can't see this anoying shit. Unsub.

  17. Avataaar/Circle Created with python_avatars @brotschuh - DIY Experte says:

    Not the first time I see this project online, but very well explained. So thumbs up.

  18. Avataaar/Circle Created with python_avatars Daniel Saranovic says:

    Just a small suggestion if i may: Try and control your voice so its not so hyper.
    Its a tech video, most of us came to relax , watch and learn/hear something new and fun. Your presenting it a bit tense there bud 🙂

  19. Avataaar/Circle Created with python_avatars Rod Bhar says:

    This guy is really good

  20. Avataaar/Circle Created with python_avatars Jake S. Del Mastro says:

    cool project. I noticed quite a bit of flicker in the display, is this just because of the camera shutter speed or is that present in person as well?

  21. Avataaar/Circle Created with python_avatars Z80user says:

    The balance is when you turn the propeller and it will stop at any possition, if allways stop on the same point you need to add some weigh on the opossiteand that mean on the top of the popeller when it stop the momement

  22. Avataaar/Circle Created with python_avatars Balduin says:

    shameless self promotion – I built a 3D and RGB version, the videos are on my channel 🙂

  23. Avataaar/Circle Created with python_avatars Fermioncool says:

    Cool

  24. Avataaar/Circle Created with python_avatars sloth jr says:

    Very interesting. Thanks, Andrei!

  25. Avataaar/Circle Created with python_avatars deluser-u says:

    gimme da meeeta . please.

  26. Avataaar/Circle Created with python_avatars kallewirsch2263 says:

    If the blue LED is to bright, just increase the 100 Ohm resistor for it. You might want to try different values, eg 220 Ohm or even more. It realy depends on your environment to find a brightnes balance that works for you.

Leave a Reply

Your email address will not be published. Required fields are marked *