0% found this document useful (0 votes)
149 views16 pages

Class 12 Physics Project File

The document describes a physics project on a persistence of vision (POV) display clock. It includes a list of materials used, circuit diagrams, Arduino code, and explanations of how it works. The POV display is created using a spinning fin with LED lights that are switched on and off in sequences to produce the illusion of a digital clock display. A hall sensor and magnet are used to track the rotation of the fin and time the LED patterns to synchronize with the speed of rotation.

Uploaded by

Shubham Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views16 pages

Class 12 Physics Project File

The document describes a physics project on a persistence of vision (POV) display clock. It includes a list of materials used, circuit diagrams, Arduino code, and explanations of how it works. The POV display is created using a spinning fin with LED lights that are switched on and off in sequences to produce the illusion of a digital clock display. A hall sensor and magnet are used to track the rotation of the fin and time the LED patterns to synchronize with the speed of rotation.

Uploaded by

Shubham Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Physics

Project file

P.O.V DISPLAY

name: Pratinav Seth


class : xii section:S4
name of exam: aissce 2020
board roll no:_________
ALL INDIA SENIOR SECONDARY CERTIFICATE
EXAMINATION 2020
Content PAGE NO
TOPIC
 Acknowledgement 1
 Certificate of Teachers 2
 Preface 3-4
 Project details (P.o.v. Display) 5-11
 Materials used 5
 Circuit diagram 6-7
 Arduino Code 8-11
 Working principle 12
 Uses 13
 Bibliography 14
Acknowledgement
I wish to express my sincere gratitude and thanks to my
teacher Dr. Maitreyee Banerjee for providing facilities
and Encouragement in formulating and completion of
the project successfully.
Furthermost,I gratefully Acknowledge the contribution
of our lab assistant sir , Sudip Sir. Without whose
guidance, advice and constant supervision making this
project would not be possible.

Pg-1
Certificate of
Teacher
This is to certify that the project titled -“P.O.V.
DISPLAY” has been successfully completed by
PRATINAV SETH of CLASS XII ,S4 of BHAVAN’S
GANGABUX KANORIA VIDYAMANDIR, SALT LAKE in
partial fulfilment of curriculum of CBSE in Academic
Year of 2019-20.

Teacher’s Signature External Examiner’s


Signature

Pg-2
Persistence
Of Vision
DISPLAY
CLOCK

Pg-3
Preface
POV Display Clock is an illusion of a clock produced using
the principle of POV Display.

Persistence of Vision refers to the optical illusion that occurs


when visual perception of an object does not cease for some
time after the rays of light proceeding from it have ceased to
enter the eye, It can also be referred to as “flicker fusion”, the
effect that vision seems to persist when a stream of light is
repeatedly interrupted for very brief instances and can’t really
enter the eyes continuously.

The main phenomenon which makes the optical illusion


possible is the formation of “afterimage” which is an image
that our brain produces due to the continuation of the
photochemical activity in our retina even after the actual
subject is not in our vision. It lasts only for a fifteenth of a
second which is actually enough to turn flickering images into
a consistent image.

Images are still, but when it comes to creating animations or


making an image feel to be moving, POV comes to play. Our
brain can handle only 12 images per second, retaining each
for about a fifteenth of a second. If in this period the images
is slightly changed it appears to be continuous to the
previous images and thus giving the effect of movement.

Pg-4
Materials Used
 Arduino Nano
 100 Ohm Resistors
 Led Lights
 Hall Sensor
 Perf Board
 9v Battery
 1000rpm Battery
 Battery Eliminator
 Magnets
 Jumper Wire
 Common Switch

Pg-5
Circuit Diagram
OVERALL CIRCUIT DIAGRAM
Circuit Design
Our project is restrained to th amount of digital outputs the Arduino
NANO or promini has. In this case we will use pins D2 to D13 of the
Arduino since pins D0 and D1 are the Tx and Rx pins and we can't
solder anyting to those and be able to upload code after that. If we
look in the port map below of the Arduino with the ATMEGA328p
chip, we see the ports for each pin.
portB (digital pin 8 to 13)
portC (analog input pins) portD (digital pins 0 to 7)
We will use a total of 11 LEDs. I've used 8 green LEDs for the
hour/minutes lines. Two red LEDs for the hours points and a blue
LED for the border circle. For each LED we need a 100ohm resistor.
We will also use a A3144 hall sensor switch with a 10K ohm resistor
pullup. You could use both Arduino NANO or the Arduino proMini
with 4V adn 16MHz speed. Finally we need perf board, wires,
Battery Eliminator, a sliding switch and the Base stand.

Pg-6
SCHEMATIC DIAGRAM OF ARDUINO
As we can see we have our hall sensor connected to a pullup to 5V
from the arduino. The signal pin from the sensor (pin 3 of A314) is
connected to digital pin D13 of the Arduino. On this pin we will
generate pin change interruptions. Next we have 11 LEDs
connected to pins D2 to D12 each with a 100 ohm resistor to limit
the current. To supply the entire circuit I've used a Battery
Eliminator and a sliding switch to power everything up..We have
solder everything on a perf board

Pg-7
Arduino Code:-
//Variables for real time count
unsigned long Real_time_millis = 0;
unsigned long Previous_real_time_millis = 0;
float SEC;
float MIN= 45;
float HOUR = 2;
float dots_marker = 0; //Variable used for the 4 red dots

//POV clock cariables


unsigned long currentMillis, elapsed_loop_counter, previousMillis;

unsigned long counter_1, current_count;

//Interruption varaibles to count rotation speed


//We create 4 variables to store the previous value of the input signal (if LOW or HIGH)
byte last_IN_state; //Here we store the previous state on digital pin 13
float one_rot_time=0; //Here we store the full rotation time
float time_per_deg=0; //Here we store the time it takes to make one degree
rotation

void setup() {
PCICR |= (1 << PCIE0); //enable PCMSK0 scan
PCMSK0 |= (1 << PCINT5); //Enable pin state interruption on pin D13

//Output pins register configuration


/* D2 = Blue LED
* D3 = Red 1 LED
* D4 = Red 2 LED
* D5 = Green 1 LED
* D6 = Green 2 LED
* D7 = Green 3 LED
* D8 = Green 4 LED
* D9 = Green 5 LED
* D10 = Green 6 LED
* D11 = Green 7 LED
* D12 = Green 8 LED

DDRD |= B11111100; //2 to 7 as output


DDRB |= B00011111; //8 to 12 as output
DDRB &= B11011111; //13 input
Pg-8
PORTD &= B00000011; //2 to 7 LOW
PORTB &= B11100000; //8 to 12 LOW
}

void loop() {

//Here we calculate seconds, minutes and hours


Real_time_millis = millis();

if(Real_time_millis - Previous_real_time_millis >= 1000){

Previous_real_time_millis += 1000;

SEC=SEC+1;
if(SEC > 59)
{
SEC=0;
MIN=MIN+1;
}

if(MIN > 59)


{
MIN = 0;
HOUR = HOUR+1;
}
}//End of real time count

//Here is our loop counter. elapsed_loop_counter will reset each loop and count the
loop time
//When we reach the amount of time desired we turn ond or off the LEDs
currentMillis = micros();
elapsed_loop_counter = currentMillis - previousMillis;

//Print the 4 red dots


if(elapsed_loop_counter >= time_per_deg*(dots_marker) && elapsed_loop_counter <
time_per_deg*(dots_marker+3) )
{
PORTD |= B00011000; //3,4 HIGH
}

if(elapsed_loop_counter >= time_per_deg*(dots_marker+3))


Pg-9
{
PORTD &= B11100111; //3, 4 LOW, the two red LEDs
dots_marker = dots_marker + 90;
if(dots_marker >= 360)
{
dots_marker = 0;
}
}

//Print the second line


if(elapsed_loop_counter >= time_per_deg*(SEC*6) && elapsed_loop_counter <
time_per_deg*((SEC*6)+2) )

{
PORTB |= B00011111; //8, 9, 10, 11 and 12 as HIGH
PORTD |= B11100000; //2 (blue), 5, 6 and 7 as HIGH
}

if(elapsed_loop_counter >= time_per_deg*((SEC*6)+2))


{
PORTB &= B11100000;
PORTD &= B00011111;
}

//Print the minute line


if(elapsed_loop_counter >= time_per_deg*(MIN*6) && elapsed_loop_counter <
time_per_deg*((MIN*6)+1) )
{
PORTB |= B00011111; //8, 9, 10, 11 and 12 as HIGH
PORTD |= B11000000; //2 (blue), 5, 6 and 7 as HIGH
}

if(elapsed_loop_counter >= time_per_deg*((MIN*6)+1))


{
PORTB &= B11110000;
PORTD &= B00111111;
}

//Print the hour line


if(elapsed_loop_counter >= time_per_deg*(HOUR*30) && elapsed_loop_counter <
time_per_deg*( (HOUR*30) +1) )
Pg-10
{
PORTB |= B00011111; //8, 9, 10, 11 and 12 as HIGH
PORTD |= B00000000; //2 (blue), 5, 6 and 7 as HIGH
}

if(elapsed_loop_counter >= time_per_deg*( (HOUR*30) +1))


{
PORTB &= B11100000;
PORTD &= B11111111;
}

ISR(PCINT0_vect){
//First we take the current count value in micro seconds using the micros() function

current_count = micros();
///////////////////////////////////////
if(PINB & B00100000){ //We make an AND with the pin state
register, We verify if pin 13 is HIGH???
if(last_IN_state == 0){ //If the last state was 0, then we have a state
change...
last_IN_state = 1; //Store the current state into the last state for
the next loop
counter_1 = current_count; //Set counter_1 to current value.
}
}
else if(last_IN_state == 1){ //If pin 13 is LOW and the last state was
HIGH then we have a state change
last_IN_state = 0; //Store the current state into the last state for
the next loop
one_rot_time = current_count - counter_1; //We make the time difference.
one_rot_time 1 is current_count - counter_1.
time_per_deg = one_rot_time/360.0;
previousMillis = micros();

}
Pg-11
Working Principle
POV Display Clock consists of a fin which is rotated at a high speed
using a motor which is fixed on a support.
The high speed is necessary to produce an illusion.
The fin consists of a number of LED lights placed in a straight line
on one side of the fin which are switched on and off by an Arduino
board.
On the other side of the fin is placed a Hall Effect Sensor which
sends a signal to the Arduino board as soon as it encounters a
magnetic field.
Also there is a magnet placed on a rigid support at a distance
suitable enough to trigger the Hall Effect Sensor as it passes the
magnet.
When the fin is rotated, every time the hall effect sensor crosses the
magnet, it sends a signal to the Arduino board.
The Arduino board measures the time ( in milliseconds ) between
two such signals.
This is the time required by fin to go round once.
This time is used to measure the Angular Velocity of the blade,
which is used to predict the time required by the blade to cross a
particular point in the circle it is rotating in.
When the Arduino finds all these information, it takes into account
the current time and decides at which point of motion should the
LEDs be switched on to produce the illusion of a glowing line which
would depict the hands of a clock.
The LEDs are switched on and off very rapidly to make sure that the
light from the LEDs appear to come from a particular line of LEDs in
the circle.
For all the rotations made by the fin in one second, the Arduino
switches on the LEDs at a particular point, After a second it shifts
the position of switching on the LEDs by an angle of 6° to depict the
second hand moving.

Pg-12
Uses
 POV Display Clocks are programmed. This means that we can change
the design of the clock in the way we want to. Unlike traditional wall
clocks, it will be highly customizable and can even present animations
in the background of the clock.
 POV Display Clocks can be switched on and off at convenience and
would not be required to correct the timing. Thus providing more
convenience for saving energy.
 POV Display Clocks can be programmed using the power of Artificial
intelligence and Machine Learning to be useful for other tasks such as
for security, morning alarms, etc.
 These clocks can also be customized to perform personalized tasks for
each person of the family, using facial recognition. For eg. as soon as a
person enters the room, the clock may greet him by his name and
present him latest news about the country both through vision and
sound.
 POV Display Clocks are much more fascinating to present when
compared to the traditional home clocks.
 POV Display Clocks, when perfected the design, can also act as wrist
watches, to present the same functions as a wall clock, in a compact
and portable manner.
 POV Display Clocks are an illusion, This means that they are much less
lighter than a wall clock, and much easy to transport. Also they can be
more easily dismantled due to lack of any highly sensitive / delicate
parts.
 POV Display Clocks can be used by big businesses to present
information in their own unique style to their customers.
 Very big POV Display Clocks can act as an attraction for tourists,
similar to Big Ben of London.

Pg-13
Bibliography
 www.electronoobs.com
 www.google.com
 www.instructables.com
 www.electronicshub.org
 www.create.arduino.cc/projecthub

Pg-14

You might also like