SlideShare a Scribd company logo
2
Most read
5
Most read
10
Most read
1
Persistence of Vision
Display
UDAY WANKAR
AKHIL H. WANKHEDE
2
Introduction
Our project is a persistence of vision display (POV) that spins 360 degrees
horizontally. The purpose of our POV display project is to create a small apparatus that will
create a visual using only a small number of LEDs as it spins in a circle. When the LEDs rotate
several times around a point in less than a second, the human eye reaches its limit of
motion perception and creates an illusion of a continuous image. Therefore, our POV display
demonstrates this phenomenon by creating a visual as the LEDs spin rapidly in a circle and
the person watching will see one continuous image.
Our POV project includes a total of 48 single color LEDs that are stacked vertically
and rotates in a circle on the horizontal plane. The pictures generated by the spinning LEDs
are coordinated by an AVR ATMEGA16 microcontroller and programmed using the software
AVR STUDIO 4. I R sensor is used in conjunction so that the microcontroller can receive a
reference point as to when it should start outputting the visual during each rotation. The
white Pease of paper is placed separately from the rotating platform underneath where the
I R sensor is located.This way, the I R sensor will pass over the white paper during every
rotation. We put the LED board, Atmega16 microcontroller, and a 6V battery (used to power
the microcontroller) all onto a single 2x16 inch platform that is mounted to the top of a
small 230V Exhaust fan. The Exhaust fan is plugged into the wall socket and can be held or
placed firmly on any flat surface for the POV display to function properly.
Persistence of Vision Project Design
Picking LEDs:
The first step to creating our POV display is putting into consideration how many LEDs we
can implement and whether to use single color or RGB (red green and blue colored) LEDs.
We established that eight LEDs stacked in a column will be enough to properly display
images and texts without worries of horizontal and vertical space limits. Since the POV spins
around 360 degrees, we can display visuals around that entire circumference. The problem
we had to consider was whether to use RGB or single colored LEDs. Single colored LEDs
require only an input and ground, while RGB LEDs require three inputs (one for each color)
and a ground connection. Since the Atmega16 microcontroller provides a total of 32 input
and outputs, using single color LEDs was the best choice because there were enough ports
to connect each of the eight LEDs. On the other hand, RGB LEDs would have required a total
of 24 pins (8 green, 8blue, 8 red), which is possible through a multiplexing scheme using the
74HC595 chip connected to the Atmega16 microcontroller. It is also possible to use only
four RGB LEDs that will take up 12 slots on the Atmega16 microcontroller. However, we
concluded that only four LEDs will make the visual too small. Another possibility is to use a
PIC microcontroller that includes 40 pins and a chip programmer to control the RGB LEDs.
Since the 74HC595 chip and the PIC programmer were unavailable, we decided to use 48
single colored SMDs and addressing them by led matrix method.
Constructing the LED Board:
3
Soldering everything that is connected to the Atmega16 microcontroller was
straightforward. We used eight output pins on the Atmega16 microcontroller and
connected each to a 1k ohm resistor that is connected to a single LED and then to the
ground pin of the microcontroller. The resistor before the LED is necessary to stabilize the
current that it’s drawing from the microcontroller. We picked 620 ohm resistors because it
made the LED bright enough to be seen under normal room lighting and not too bright in
the dark.
Next was the IR sensor that is placed facing downwards towards where the white
piece of paper will be. We included a 10k ohm pull-up resistor from the input to the output
so that when the sensor sense white paper, it will act as though it is disconnected. Since the
IR sensor only needed about five volts for it to run, we connected a wire from VDD to the 5V
output pin on the Atmega16 microcontroller. The output of the Hall Effect sensor is
connected to one of the pins on the microcontroller and then declared as an input in our
software program. This way, whenever the IR sensor is not over the white piece of paper, it
will continue to run at 0 volts and the microcontroller will read that input as “LOW.” When
the white piece of paper passes under the sensor, the sensor will output a “HIGH” signal,
telling the microcontroller to start displaying a frame. Below is a picture of our LED display
board.
One other thing we made ourselves was a battery powered source that is mounted
on top of the fan along with the rest of the components. Originally, we planned to use an
external power supply that will be continuously touching a PCB board that is connected to
the microcontroller. The reason is because we cannot use a regular wire from a power
source that is not on the fan to power the microcontroller while it spins, or else the wires
will get tangled. The challenge to this method is finding a way for the wires to be always in
contact with the PCB board, otherwise, the microcontroller will lose power and cease to
function. Since we decided to use a heavy duty fan, it became possible to mount a 6V
4
battery on top of the spinning platform along with the other components to power the
microcontroller. The battery is a bit heavy and added weight and imbalance to the platform,
so we decided to place it in the exact middle. We also soldered together the battery wires
with a round socket plug in head so that is able to connect to the power input of the
Atmega16 microcontroller. In terms of power consumption, the Atmega16 microcontroller
receives 6V from the battery and provides power to the LEDs and IR sensor, and the small
Exhaust fan draws 230V from the power outlet. It is not the most efficient fan, but it works
nicely to create a POV display.
Picking the Motor
The next task, that turned out to be more difficult than we had originally thought,
was picking out the right motor to be used to spin the display. The first thing that is
necessary for the POV display to work properly is a fast spinning motor that has more than
2000 rotations per minute. A motor having 2000 RPMs is equivalent to 33 full rotations
every second. That is more than enough to reach a persistence of vision image that is
comfortable to a human eye. We originally used a small one inch diameter motor that had
2300 RPMs, however, the weight and balancing issues made it very hard for the motor to
pick up speed. We then decided to use a small table fan and a medium sized standing fan.
These fans were heavier duty and can be placed firmly on any surface. The Exhaust fan had
about 400 RPMs and produced an ok visual that seemed a little choppy because the
platform was not perfectly balanced. So the small desk fan with the component mounted on
top of it slowed the rotation speed to about 350 RPMs and that gave us a visual at about 23
frames per second. The medium sized standing fan had a very strong torque and a rotational
speed of about 3000 or more RPMs. The problem with this fan was that it rotated too fast
(even at the lowest rotation setting) and started throwing the components off the platform
even after applying a lot of hot glue and tape. However, it did display a very smooth image
at about 50 frames per second. We decided to use the small Exhaust fan instead of the
medium standing fan due to safety concerns.
Programming the Microcontroller
We used the Atmega16 software provided by the Atmega16 website to program the
microcontroller. In the program, we setup PORT A 8 pins by declaring each pin as an output.
This will allow the microcontroller to provide power to the 8 LEDs whenever it is
programmed to. We then declared pin 1 of PORT D as the input so that the IR sensor can
send a signal to the microcontroller whenever it detects a white piece of paper. Next is a
loop function that will consecutively loop the program for it display our image very quickly
each time the sensor passes over white piece of paper. It uses an “if” and “else” statement
to establish when to display the visual. We set it so that if the sensor reports a low signal
(when there is less than 2 volts present at the pin), meaning that it just passed over white
piece of paper, then it will start displaying the visual very quickly. Otherwise, it will just keep
the LEDs off.
The next step is to create a function that will show a set image whenever it is called
up in the loop function. We used a binary formatter method by creating our own data that
corresponds to each letter in the alphabet and some simple pictures. Since a byte can store
an 8-bit unsigned number from 0 to 255, we used that to create an on and off mark for each
5
of our LEDs. For example, if we wanted to display the letter “N”, we would map out the
letter using “0” and “1” like the shape below. Where “1” will turn the LED on and “0” keeps
the LED off.
B11111111
B00000110
B00001100
B00011000
B00110000
B01100000
B11000000
B11111111
In the function that displays our image, we tell it which image to display and it will go
through all of the data for all the columns in each frame for that image. Timer 1 will tell
the program to create a very short delay (in milliseconds) between each column that is read.
This will shrink or expand the width of each image.
After it goes through every column, the program will turn every LED off so that an
empty space shows up between each image. In the loop function, we initialized another
delay time that will increase or decrease the space between each image.
Scalability Issues
Our POV display can be expanded to include more LEDs. However, as of now it only
has limited ports for expansion. Also, adding more LEDs to the existing design will not work
with our currentAtmega16 program code since the 8-bit binary formatter stops after 8
columns. The POV display can display as many pictures or letters as it can fit in that 360
degree circumference. Increasing the circumference of the rotation will allow for more
6
pictures and letters to be displayed, but that would mean we would need a faster fan and a
longer platform. The balance of the platform will get trickier as the platform length
increases. In terms of getting good visual and readability, it is best to keep the width of the
picture to about an inch or two.
Parts List:
Atmega16 Microcontroller
I R sensor
White paper piece(used with the sensor)
48 single color (Red) LEDs or SMDs (we used SMDs)
6v Battery (supply power to the POV display)
230 V AC supply
Standard socket (for the battery to power the microcontroller)
Experimenters board (2x3 inches)
230 V Exhaust fan
48x 1k ohm resistors
Addressing Scheme
Block Diagram:
Atmega16 Microcontroller Addressing Scheme:
7
Program:
#include<avr/io.h>
#include<util/delay.h>
#include<UPPERERALPHA.h>
#include<LOWERALPHA.h>
#include<DIGITSTODAY.h>
floati;
main()
{
floati;
DDRA=0b11111111;
PORTA=0b00000000;
DDRC=0b11111111;
PORTC=0b00000000;
DDRB=0b00000000;
PORTB=0b00000000;
DDRD=0b11111111;
PORTD=0b00000000;
while(1)
{
welcome();
gec();
thank();
}
}
welcome()
{
for(i=0;i<2000;i++)
{
if(PINB==0b00000001)
{
SPACE();
SPACE();
SPACE();
SPACE();SPACE();
SPACE();
LINEON();
W();
e();
l();
c();
o();
m();
e();
8
LINEOFF();
}
}
}
gec()
{
for(i=0;i<1000;i++)
{
if(PINB==0b00000001)
{
G();
POINT();
SPACE();
C();
POINT();
SPACE();
O();
POINT();
SPACE();
E();
POINT();
SPACE();
C();
H();
A();
N();
D();
R();
A();
P();
U();
R();
}
PORTA=0b00000000;
}
}
thank()
{
for(i=0;i<1000 ;i++)
{
if(PINB==0b00000001)
{
SPACE();
SPACE();SPACE();
SPACE();SPACE();
SPACE();SPACE();
9
SPACE();
T();
h();
a();
n();
k();
SPACE();
y();
o();
u();
}
SPACE();
}
}
Header files:
To display letters we have to give specific code output to leds via microcontroller. This code
unique for a single letter or characters. If we have display a word which consist of double
letter for example word ‘LITTLE’ having double T, so we have write code twice for letter T
which consume time and memory making program long.
So we write function of each alphabets with upper and lower case and characters and
bind together in header file. It gives following advantages:
1. Makes program easy to understand.
2. Small program size.
3. Repetition of code avoided.
4. Consume less memory.
5. Easier to access each alphabets and characters.
This header files are given below:
UPPERERALPHA.h file for upper case alphabets.
LOWERALPHA.h file for lower case alphabets.
DIGITSTODAY.h file for digits and characters.
PROBLEMS FACED:
1. POWER SUPPLY:
Power supply to the motor and IC was a bit of problem tous. We first used carbon brushes to
give ground from the inner side of motor and VCC through axle, but the carbon brushes lowered
the speed of motor. We then give ground from uppers side through carbon brushes, but it
doesn’tmake 100% contacts withmotor.So finallywe usedseparatesupplyforboth.
2. BALANCINGYOUR SETUP:
It’s a crucial problem since your setup will be running at high speed. So wobbling of setup will
give distorted image. Your setup must be horizontal and center of mass of setup must be at the
pointaboutwhichsetupisrotating.To resolve thiswe addedweightthrough
10
M-seal to the poor side tobalance mass on ends.
3. IR detectionathighspeed:
To call the interrupt at high speed, TSOP wasn’t Detecting IR rays. To resolve this you use
transistorstoincrease current throughIR ledand variesto increase sensitivityof TSOP.
CONCLUSION AND FUTURE ASPECT
Our project can display any image of height at most 9 and width around 90 (for good
display) in the POV setup. Our project is basically showing 2-D figure from1-D array of leds.
1. Using multiple microcontrollers we can view POV of large sizes.
2. LED controllers can be used to change intensity of leds and showing HD Images.
3. Rotating a 2-D array of led setup, cool 3-D views can be made which can be viewed from
all the directions.
UTILITY:
It can be used in advertising and marketing campaign.

More Related Content

PPTX
Smart street lighting control system project PPT
PPTX
Final ppt on automatic solar traking system
PPTX
STREET LIGHT THAT GLOWS ON DETECTING VEHICLE MOVEMENT
PPTX
arduino based automatic irrigation system
PDF
ATmega32 Controlled “Persistence of Vision” Display
DOCX
Home Automation using NodeMCU .docx
PPTX
automatic street light
Smart street lighting control system project PPT
Final ppt on automatic solar traking system
STREET LIGHT THAT GLOWS ON DETECTING VEHICLE MOVEMENT
arduino based automatic irrigation system
ATmega32 Controlled “Persistence of Vision” Display
Home Automation using NodeMCU .docx
automatic street light

What's hot (20)

PPTX
Embedded system-in-automobiles
PPTX
Ev charging with iot
PPT
automatic streetlight control using ldr ppt
PPTX
Automatic street lighting system
PPTX
Automatic sun tracking system
PPTX
Automatic high beam controller for vehicles
PPTX
automatic railway gate control system using arduino
PDF
Project Report on Smart Dustbin
PPTX
Liquid electricity
PPTX
INTELLIGENT HELMET FOR COAL MINERS
PPTX
PPT ON Arduino
PPTX
home automation using esp8266
PDF
Led display
PDF
Latest Seminar Topics for Engineering,MCA,MSc Students
PDF
Training manual for engineers on solar pv system
PPTX
ACCIDENT DETECTION SYSTEM PPT
PPTX
smart home automation system
PPTX
NIGHT VISION TECHNOLOGY
PPT
Voice and touchscreen operated wheelchair ppt
PPTX
Ppt on automatic street light control using ir sensors
Embedded system-in-automobiles
Ev charging with iot
automatic streetlight control using ldr ppt
Automatic street lighting system
Automatic sun tracking system
Automatic high beam controller for vehicles
automatic railway gate control system using arduino
Project Report on Smart Dustbin
Liquid electricity
INTELLIGENT HELMET FOR COAL MINERS
PPT ON Arduino
home automation using esp8266
Led display
Latest Seminar Topics for Engineering,MCA,MSc Students
Training manual for engineers on solar pv system
ACCIDENT DETECTION SYSTEM PPT
smart home automation system
NIGHT VISION TECHNOLOGY
Voice and touchscreen operated wheelchair ppt
Ppt on automatic street light control using ir sensors
Ad

Viewers also liked (20)

PPTX
POWER QUALITY IMPROVEMENT
PPTX
Power quality.ppt
PDF
Exxon mobil (Environmental Economics POV)
PDF
The Design and Construction of a low cost Propeller Led Display.
PPTX
the Original ppt
DOCX
digital clock atmega16
PPTX
Question 1
DOCX
project report on embedded system
DOCX
Propeller LED Display By Ketan kothari
PPTX
Timer & Interrupt Atmega16
PPTX
Persistence of vision
DOCX
Điều khiển động cơ sử dụng atmega16
PPT
Persistence of vision
PDF
final report
PDF
Rfid based toll tax collection system 3 (repaired)
PPT
Relay Presentation PPT by G@nesh
PPT
Relays
PPTX
Protective relay
POWER QUALITY IMPROVEMENT
Power quality.ppt
Exxon mobil (Environmental Economics POV)
The Design and Construction of a low cost Propeller Led Display.
the Original ppt
digital clock atmega16
Question 1
project report on embedded system
Propeller LED Display By Ketan kothari
Timer & Interrupt Atmega16
Persistence of vision
Điều khiển động cơ sử dụng atmega16
Persistence of vision
final report
Rfid based toll tax collection system 3 (repaired)
Relay Presentation PPT by G@nesh
Relays
Protective relay
Ad

Similar to Persistence of Vision Display (20)

PPT
PIC Microcontroller
DOC
Fading leds via pwm
PDF
E010433640
PDF
Animatronic hand controller
PPTX
Electronz_Chapter_4.pptx
PPTX
ppt 2 got it rolling and got to go .pptx
PPTX
Four_way_Traffic_Light for mini project.pptx
PDF
295889096 music-reactive-multicolor-led-lights
PPTX
Guide to live wire and pcb wizard
PDF
Accident detection management system project report II.pdf
DOCX
Neno Project.docx
PDF
Lab 2_ Programming an Arduino.pdf
DOCX
Basic arduino sketch example
PDF
Arduino
PPTX
Arduino with brief description of sensorsppt.pptx
PDF
Robotics Report final.compressed (1)
PDF
Line Follower Robot
PDF
Arduino comic v0004
PDF
Arduino Comic-Jody Culkin-2011
PIC Microcontroller
Fading leds via pwm
E010433640
Animatronic hand controller
Electronz_Chapter_4.pptx
ppt 2 got it rolling and got to go .pptx
Four_way_Traffic_Light for mini project.pptx
295889096 music-reactive-multicolor-led-lights
Guide to live wire and pcb wizard
Accident detection management system project report II.pdf
Neno Project.docx
Lab 2_ Programming an Arduino.pdf
Basic arduino sketch example
Arduino
Arduino with brief description of sensorsppt.pptx
Robotics Report final.compressed (1)
Line Follower Robot
Arduino comic v0004
Arduino Comic-Jody Culkin-2011

More from Uday Wankar (20)

PDF
TEACHING AND LEARNING BASED OPTIMISATION
PPTX
Optimization Simulated Annealing
PPTX
Optimization Shuffled Frog Leaping Algorithm
PPTX
Optimization technique genetic algorithm
PPTX
Optimization Technique Harmony Search
PPTX
Optimization by Ant Colony Method
PPTX
Gas turbine engine
PDF
Gas turbine engine
PDF
Rewinding a brushless motor
PPTX
Rewinding a bldc motor
PDF
Arm cortex (lpc 2148) based motor speed
PDF
Arm Processor Based Speed Control Of BLDC Motor
PPTX
Arm cortex ( lpc 2148 ) based motor speed control
PPTX
Arm cortex ( lpc 2148 ) based motor speed control
PDF
CSTPS training REPORT
PDF
Hybrid power generation by solar –wind
PPTX
Hybrid power generation by and solar –wind
PPTX
Grid solving robot
PDF
A PROJECT REPORT ON BGPPL BALARPUR
PPTX
Ensuring data storage security in cloud computing
TEACHING AND LEARNING BASED OPTIMISATION
Optimization Simulated Annealing
Optimization Shuffled Frog Leaping Algorithm
Optimization technique genetic algorithm
Optimization Technique Harmony Search
Optimization by Ant Colony Method
Gas turbine engine
Gas turbine engine
Rewinding a brushless motor
Rewinding a bldc motor
Arm cortex (lpc 2148) based motor speed
Arm Processor Based Speed Control Of BLDC Motor
Arm cortex ( lpc 2148 ) based motor speed control
Arm cortex ( lpc 2148 ) based motor speed control
CSTPS training REPORT
Hybrid power generation by solar –wind
Hybrid power generation by and solar –wind
Grid solving robot
A PROJECT REPORT ON BGPPL BALARPUR
Ensuring data storage security in cloud computing

Recently uploaded (20)

PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
composite construction of structures.pdf
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Well-logging-methods_new................
PPTX
additive manufacturing of ss316l using mig welding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
composite construction of structures.pdf
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Internet of Things (IOT) - A guide to understanding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Well-logging-methods_new................
additive manufacturing of ss316l using mig welding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Model Code of Practice - Construction Work - 21102022 .pdf
bas. eng. economics group 4 presentation 1.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
R24 SURVEYING LAB MANUAL for civil enggi
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx

Persistence of Vision Display

  • 1. 1 Persistence of Vision Display UDAY WANKAR AKHIL H. WANKHEDE
  • 2. 2 Introduction Our project is a persistence of vision display (POV) that spins 360 degrees horizontally. The purpose of our POV display project is to create a small apparatus that will create a visual using only a small number of LEDs as it spins in a circle. When the LEDs rotate several times around a point in less than a second, the human eye reaches its limit of motion perception and creates an illusion of a continuous image. Therefore, our POV display demonstrates this phenomenon by creating a visual as the LEDs spin rapidly in a circle and the person watching will see one continuous image. Our POV project includes a total of 48 single color LEDs that are stacked vertically and rotates in a circle on the horizontal plane. The pictures generated by the spinning LEDs are coordinated by an AVR ATMEGA16 microcontroller and programmed using the software AVR STUDIO 4. I R sensor is used in conjunction so that the microcontroller can receive a reference point as to when it should start outputting the visual during each rotation. The white Pease of paper is placed separately from the rotating platform underneath where the I R sensor is located.This way, the I R sensor will pass over the white paper during every rotation. We put the LED board, Atmega16 microcontroller, and a 6V battery (used to power the microcontroller) all onto a single 2x16 inch platform that is mounted to the top of a small 230V Exhaust fan. The Exhaust fan is plugged into the wall socket and can be held or placed firmly on any flat surface for the POV display to function properly. Persistence of Vision Project Design Picking LEDs: The first step to creating our POV display is putting into consideration how many LEDs we can implement and whether to use single color or RGB (red green and blue colored) LEDs. We established that eight LEDs stacked in a column will be enough to properly display images and texts without worries of horizontal and vertical space limits. Since the POV spins around 360 degrees, we can display visuals around that entire circumference. The problem we had to consider was whether to use RGB or single colored LEDs. Single colored LEDs require only an input and ground, while RGB LEDs require three inputs (one for each color) and a ground connection. Since the Atmega16 microcontroller provides a total of 32 input and outputs, using single color LEDs was the best choice because there were enough ports to connect each of the eight LEDs. On the other hand, RGB LEDs would have required a total of 24 pins (8 green, 8blue, 8 red), which is possible through a multiplexing scheme using the 74HC595 chip connected to the Atmega16 microcontroller. It is also possible to use only four RGB LEDs that will take up 12 slots on the Atmega16 microcontroller. However, we concluded that only four LEDs will make the visual too small. Another possibility is to use a PIC microcontroller that includes 40 pins and a chip programmer to control the RGB LEDs. Since the 74HC595 chip and the PIC programmer were unavailable, we decided to use 48 single colored SMDs and addressing them by led matrix method. Constructing the LED Board:
  • 3. 3 Soldering everything that is connected to the Atmega16 microcontroller was straightforward. We used eight output pins on the Atmega16 microcontroller and connected each to a 1k ohm resistor that is connected to a single LED and then to the ground pin of the microcontroller. The resistor before the LED is necessary to stabilize the current that it’s drawing from the microcontroller. We picked 620 ohm resistors because it made the LED bright enough to be seen under normal room lighting and not too bright in the dark. Next was the IR sensor that is placed facing downwards towards where the white piece of paper will be. We included a 10k ohm pull-up resistor from the input to the output so that when the sensor sense white paper, it will act as though it is disconnected. Since the IR sensor only needed about five volts for it to run, we connected a wire from VDD to the 5V output pin on the Atmega16 microcontroller. The output of the Hall Effect sensor is connected to one of the pins on the microcontroller and then declared as an input in our software program. This way, whenever the IR sensor is not over the white piece of paper, it will continue to run at 0 volts and the microcontroller will read that input as “LOW.” When the white piece of paper passes under the sensor, the sensor will output a “HIGH” signal, telling the microcontroller to start displaying a frame. Below is a picture of our LED display board. One other thing we made ourselves was a battery powered source that is mounted on top of the fan along with the rest of the components. Originally, we planned to use an external power supply that will be continuously touching a PCB board that is connected to the microcontroller. The reason is because we cannot use a regular wire from a power source that is not on the fan to power the microcontroller while it spins, or else the wires will get tangled. The challenge to this method is finding a way for the wires to be always in contact with the PCB board, otherwise, the microcontroller will lose power and cease to function. Since we decided to use a heavy duty fan, it became possible to mount a 6V
  • 4. 4 battery on top of the spinning platform along with the other components to power the microcontroller. The battery is a bit heavy and added weight and imbalance to the platform, so we decided to place it in the exact middle. We also soldered together the battery wires with a round socket plug in head so that is able to connect to the power input of the Atmega16 microcontroller. In terms of power consumption, the Atmega16 microcontroller receives 6V from the battery and provides power to the LEDs and IR sensor, and the small Exhaust fan draws 230V from the power outlet. It is not the most efficient fan, but it works nicely to create a POV display. Picking the Motor The next task, that turned out to be more difficult than we had originally thought, was picking out the right motor to be used to spin the display. The first thing that is necessary for the POV display to work properly is a fast spinning motor that has more than 2000 rotations per minute. A motor having 2000 RPMs is equivalent to 33 full rotations every second. That is more than enough to reach a persistence of vision image that is comfortable to a human eye. We originally used a small one inch diameter motor that had 2300 RPMs, however, the weight and balancing issues made it very hard for the motor to pick up speed. We then decided to use a small table fan and a medium sized standing fan. These fans were heavier duty and can be placed firmly on any surface. The Exhaust fan had about 400 RPMs and produced an ok visual that seemed a little choppy because the platform was not perfectly balanced. So the small desk fan with the component mounted on top of it slowed the rotation speed to about 350 RPMs and that gave us a visual at about 23 frames per second. The medium sized standing fan had a very strong torque and a rotational speed of about 3000 or more RPMs. The problem with this fan was that it rotated too fast (even at the lowest rotation setting) and started throwing the components off the platform even after applying a lot of hot glue and tape. However, it did display a very smooth image at about 50 frames per second. We decided to use the small Exhaust fan instead of the medium standing fan due to safety concerns. Programming the Microcontroller We used the Atmega16 software provided by the Atmega16 website to program the microcontroller. In the program, we setup PORT A 8 pins by declaring each pin as an output. This will allow the microcontroller to provide power to the 8 LEDs whenever it is programmed to. We then declared pin 1 of PORT D as the input so that the IR sensor can send a signal to the microcontroller whenever it detects a white piece of paper. Next is a loop function that will consecutively loop the program for it display our image very quickly each time the sensor passes over white piece of paper. It uses an “if” and “else” statement to establish when to display the visual. We set it so that if the sensor reports a low signal (when there is less than 2 volts present at the pin), meaning that it just passed over white piece of paper, then it will start displaying the visual very quickly. Otherwise, it will just keep the LEDs off. The next step is to create a function that will show a set image whenever it is called up in the loop function. We used a binary formatter method by creating our own data that corresponds to each letter in the alphabet and some simple pictures. Since a byte can store an 8-bit unsigned number from 0 to 255, we used that to create an on and off mark for each
  • 5. 5 of our LEDs. For example, if we wanted to display the letter “N”, we would map out the letter using “0” and “1” like the shape below. Where “1” will turn the LED on and “0” keeps the LED off. B11111111 B00000110 B00001100 B00011000 B00110000 B01100000 B11000000 B11111111 In the function that displays our image, we tell it which image to display and it will go through all of the data for all the columns in each frame for that image. Timer 1 will tell the program to create a very short delay (in milliseconds) between each column that is read. This will shrink or expand the width of each image. After it goes through every column, the program will turn every LED off so that an empty space shows up between each image. In the loop function, we initialized another delay time that will increase or decrease the space between each image. Scalability Issues Our POV display can be expanded to include more LEDs. However, as of now it only has limited ports for expansion. Also, adding more LEDs to the existing design will not work with our currentAtmega16 program code since the 8-bit binary formatter stops after 8 columns. The POV display can display as many pictures or letters as it can fit in that 360 degree circumference. Increasing the circumference of the rotation will allow for more
  • 6. 6 pictures and letters to be displayed, but that would mean we would need a faster fan and a longer platform. The balance of the platform will get trickier as the platform length increases. In terms of getting good visual and readability, it is best to keep the width of the picture to about an inch or two. Parts List: Atmega16 Microcontroller I R sensor White paper piece(used with the sensor) 48 single color (Red) LEDs or SMDs (we used SMDs) 6v Battery (supply power to the POV display) 230 V AC supply Standard socket (for the battery to power the microcontroller) Experimenters board (2x3 inches) 230 V Exhaust fan 48x 1k ohm resistors Addressing Scheme Block Diagram: Atmega16 Microcontroller Addressing Scheme:
  • 9. 9 SPACE(); T(); h(); a(); n(); k(); SPACE(); y(); o(); u(); } SPACE(); } } Header files: To display letters we have to give specific code output to leds via microcontroller. This code unique for a single letter or characters. If we have display a word which consist of double letter for example word ‘LITTLE’ having double T, so we have write code twice for letter T which consume time and memory making program long. So we write function of each alphabets with upper and lower case and characters and bind together in header file. It gives following advantages: 1. Makes program easy to understand. 2. Small program size. 3. Repetition of code avoided. 4. Consume less memory. 5. Easier to access each alphabets and characters. This header files are given below: UPPERERALPHA.h file for upper case alphabets. LOWERALPHA.h file for lower case alphabets. DIGITSTODAY.h file for digits and characters. PROBLEMS FACED: 1. POWER SUPPLY: Power supply to the motor and IC was a bit of problem tous. We first used carbon brushes to give ground from the inner side of motor and VCC through axle, but the carbon brushes lowered the speed of motor. We then give ground from uppers side through carbon brushes, but it doesn’tmake 100% contacts withmotor.So finallywe usedseparatesupplyforboth. 2. BALANCINGYOUR SETUP: It’s a crucial problem since your setup will be running at high speed. So wobbling of setup will give distorted image. Your setup must be horizontal and center of mass of setup must be at the pointaboutwhichsetupisrotating.To resolve thiswe addedweightthrough
  • 10. 10 M-seal to the poor side tobalance mass on ends. 3. IR detectionathighspeed: To call the interrupt at high speed, TSOP wasn’t Detecting IR rays. To resolve this you use transistorstoincrease current throughIR ledand variesto increase sensitivityof TSOP. CONCLUSION AND FUTURE ASPECT Our project can display any image of height at most 9 and width around 90 (for good display) in the POV setup. Our project is basically showing 2-D figure from1-D array of leds. 1. Using multiple microcontrollers we can view POV of large sizes. 2. LED controllers can be used to change intensity of leds and showing HD Images. 3. Rotating a 2-D array of led setup, cool 3-D views can be made which can be viewed from all the directions. UTILITY: It can be used in advertising and marketing campaign.