Wednesday, 1 January 2014

Introduction

Persistence of vision is the phenomenon of the eye by which an afterimage is thought to persist for approximately one twenty-fifth of a second on the retina and believed to be explanation for motion perception, however it only explains why the black spaces that come between each "real" movie frame are not perceived. The true reason for motion perception is the phi phenomenon.


The theory of persistence of vision is the belief that human perception of motion (brain centered) is the result of persistence of vision (eye centered). The theory was disproved in 1912 by Wertheimer but persists in many citations in many classic and modern film-theory texts. A more plausible theory to explain motion perception (at least on a descriptive level) is two distinct perceptual illusions: phi phenomenon and beta movement.

A visual form of memory known as iconic memory has been described as the cause of this phenomenon. Although psychologists and physiologists have rejected the relevance of this theory to film viewership, film academics and theorists generally have not. Some scientists nowadays consider the entire theory a myth.



In contrasting persistence of vision theory with phi phenomena, a critical part of understanding that emerges with these visual perception phenomena is that the eye is not a camera. In other words vision is not as simple as light registering on a medium, since the brain has to make sense of the visual data the eye provides and construct a coherent picture of reality. Joseph Anderson and Barbara Fisher argue that the phi phenomena privileges a more constructionist approach to the cinema (David Bordwell, Noël Carroll, Kirsten Thompson), whereas the persistence of vision privileges a realist approach (André Bazin, Christian Metz, Jean-Louis Baudry).

The discovery of persistence of vision is attributed to the Roman poet Lucretius, although he only mentions it in connection with images seen in a dream. In the modern era, some stroboscopic experiments performed by Peter Mark Roget in 1824 were also cited as the basis for the theory.

Outline Of Our Project

The Digital P.O.V. Spinning device can write text, draw small icons, and display patterns as you spin it around.

It works by encoding your visual data onto a series of 8 LED's that are spun on a cord like a fire spinning poi.

In one rotation there are roughly 600 virtual pixel positions. With 8 pixels on the Y axis, and 600 on the X (rotation) axis, there are 4,800 effective pixels in the display. 

The Digital Spinning Module acts like an air display hovering in front of you due to the effect of persistence of vision.

Components Used

  • Copper Board
  • Aluminium Sheet
  • ICSP Connector
  • DC Power Connector
  • Solder Iron and Solder Wire
  • 9V DC Battery
  • ATMEGA 8 Micro-controller 
  • IC 7805
  • 5MHz Crystal Oscillator
  • 220 Ω Resistor
  • 12 pF Capacitor – 2 in no.
  • 100 nF Capacitor
  • Super Bright LEDs – 8 in no.
  • 300 RPM DC Motor
  • Connecting Wires


Designed Circuit


Code

The software used for coding is AVR Studio 4.
The code displays the following message:
P.O.V. BY DYNAMOS
FROM R.I.T.M.
THANK U
*Then it displays a special smiley 
The Code:
POV by Dynamos : Code

How To Code Your Own Message

It is very simple to program the micro-controller to display any text or symbol of your choice.

Download the following spreadsheet:


In the spreadsheet you'll see that there are alphabets. At the bottom of each column of each alphabet, there is a number (For example, row 13). This is the decimal equivalent for the L.E.D.s to glow so as to display the first column. Now all you have to do is to convert this decimal code to hexadecimal and then use it in the program to display whatever you want.

We've made functions of each alphabet so that we don't have to write the codes again and again for the repetitive alphabets.

To understand it more clearly have a look at the code. Concentrate on the code of "A":


void a()
 {
  PORTD=0X1F;
  _delay_ms(1); 
  PORTD=0X24;
  _delay_ms(1);
  PORTD=0X44;
  _delay_ms(1);
  PORTD=0X84;
  _delay_ms(1);
  PORTD=0X44;
  _delay_ms(1);
  PORTD=0X24;
  _delay_ms(1);
  PORTD=0X1F;
  _delay_ms(1);

  PORTD=0X00;
  _delay_ms(1);
  PORTD=0X00;
  _delay_ms(1);
 }


When you convert the codes from the spreadsheet, you get:
31 = 1F
36 = 24
68 = 44
132 = 84
68 = 44
36 = 24
31 = 1F

The segment

  PORTD=0X00;
  _delay_ms(1);
  PORTD=0X00;
  _delay_ms(1);

is used for providing blank spaces.

Now you can code the display as you wish.

The Module



Working


Note: The video is a bit glitch-y as it is of the non-calibrated version

The Team

DYNAMOS

Abdullah Saghir Ahmad  (Team Leader and Programmer)
Manisha Singh  (Module Designer)
Abhinav Shahi  (PCB designer and Tester)
Rita Mitra  (PCB designer and Tester)