A complete FREE tutorial on :
Developing a Persistence of Vision Propeller Display (POVPD)
using the open-source Arduino Duemilanove/UNO (ATmega328P) board
Introduction
This online tutorial is targeted for students/hobbyist who want to:
- start programming with Arduino Duemilanove /UNO (ATmega328P) board
- develop something creative
- do some soldering
- develop some code in C-language
- experiment with Real-Time Programming
This tutorial also provides the software tools required but do NOT provides the software directly to the students. It explains how the software could be made, giving numerous examples of inputs and outputs. Sample codes for certain modules are provided wherever needed. The intention is not hiding the code, but to help the students to develop the code themselves. In certain chapters, if source code is not provided then pseudo-code and executable Hex files are provided.
Definitions
- Propeller
- It is the PCB which is rotated at high speed. The LEDs are soldered on it in linear fashion. This propeller PCB is plugged (connected) to an Arduino board.
The
R
G
B
LEDs are linearly placed on it
|
It is rotated at high speed.
|
It is mounted with Arduino board as a daughter-board (typically called Arduino Shield)
|
Patterns can be displayed by switching the LEDs with Time Division Multiplexing
|
- Persistence of Vision
- 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. A visual form of memory known as iconic memory has been described as the cause of this phenomenon.
Salient Features of this Project
- The electric-power for the propeller is NOT supplied by slip-rings or a battery mounted on it. The electric-power is induced in the propeller.
- Since R
G
B LEDs are used various colors can be generated by mixing RGB.
- Remote Control is used to control the visual patterns. Students get a chance to use Philips RC5 protocol
- Arduino board is used (Open-source)
- The user can control the RPM of the rotating propeller if required.
- Graphical User Interface is provided to help the user to generate various patterns on the propeller. It is like a WYSIWYG Editor. The user can save the graphical information into numeric format.
- The complete tutorial is provided, with working code examples.
- This project is good from beginner level to advanced level developers/students.
- It is good for someone who want some hardware to experiment with Real Time programming in C. The time-critical part of the code, can optionally be written in assembly language.
- Does not use external memory and shift-registers
- Too few electronics components
- Adjustable display resolution
- Optional: Bluetooth interfacing (by disconnecting 2 LEDs)
e-Book Chapters
(Please click on chapter number to display its contents)
Chapter 1 |
Introduction to Persistence of Vision Display Project |
Chapter 2 |
A Quick-look at steps involved in development of POVPD |
Chapter 3 |
Circuitry for the Propeller PCB |
Chapter 4 |
Developing a Utility Library for the Propeller PCB |
Chapter 5 |
Interfacing the IR Remote |
Chapter 6 |
Circuitry for Base PCB |
Chapter 7 |
Interfacing the Index Sensor |
Chapter 8 |
Developing an algorithm to generate simple (static) visual patterns |
Chapter 9 |
Using the Remote-Control to change the "Color Map" |
Chapter 10 |
Real Time Programming Concepts |
Chapter 11 |
Generating Dynamic Visual Patterns in Real Time |
Chapter 12 |
Persistence of Vision Propeller Clock |
Chapter 13 (Appendix) |
Handmade Arduino POV Display (without using the kit) |
Chapter 14 (Appendix) |
Versions of Propeller PCB |
Chapter 15 (Appendix) |
Designing a GUI to generate static patterns |