PoV Digital Clock
By Vasundhara Rawat, Nashwin Bharwani, Noah Harris, Namrata Patel
Objective
The objective of this project is to create a fully functional digital clock and display the current time and date using the concept of Persistence of Vision.
Introduction
Persistence of vision refers to the optical illusion whereby multiple discrete images blend into a single image in the human mind. A human eye can retain the image seen up to 40 ms after the image disappears.This can be used in many different types of displays and objects.
Components
- Mbed LPC1768 chips
- 3 Neopixel strips
- 1000 microFarad capacitor
- 8 AA batteries
- Fan motor
- 2 Hall effect sensors
- Magnet
Description
The time is updated on the mbed using the timer. In the setup shown, there are approximately 7.2 rotations per second, however the rotational speed can be controlled by a variable voltage range to help tune the speed of the clock and keep the display steady.
The Neopixel LEDs light up based on a time delay from the start of the code and will flash different LEDs for each individual character in the time and date strings. The Neopixel strips are wired with approximately 1000uF across the positive and negative leads as well as a 220 ohm resistor to protect the Neopixels.
The hall effect sensors are taped together and mounted on the shaft of the motor. Every time the hall effect sensor passes by the magnet, which was placed on the base of the motor, it would push a low signal to the mbed triggering a timer reset and helps synchronize the system. It synchronizes the motor speed and the timer by triggering whenever the timer passes by the magnet, which is mounted at the base of the motor. This hall effect sensors are wired along the motor shaft.
The motor was taken from a commercially available fan and is connected external to the system and powered with a variable voltage range to help tune the clock's speed.
Connections
Mbed | Hall Effect Sensor | Neopixels |
p15 | DigitalIn | |
p16 | DigitalIn | |
p11 | DigitalOut | |
5V | Vout | |
Gnd | Gnd | Gnd |
3.3V | Vin |
Schematic
Code
Code to run the clock
Import programPersistence_of_Vision_Clock
A digital clock that can display a date and time using a Persistence of Vision Display
Library used to drive the NeoPixel Strips
Import libraryNeoStrip
Library for controlling a strip of Adafruit NeoPixels with WS2812 drivers. Because of the strict timing requirements of the self-clocking data signal, the critical parts of code are written in ARM assembly. Currently, only the NXP LPC1768 platform is supported. More information about NeoPixels can be found at http://learn.adafruit.com/adafruit-neopixel-uberguide/overview
Video
Here is a video of the clock in action. Unfortunately the cameras we had were unable to capture the display properly as they could not sample quickly enough.
Future Work
- Use Zigbee modules to get the time wirelessly from OS time to synchronize time
- Better synchronization between the motor speed and the speed of rotation to help stabalize the display.
- Different modes of the clock like switching between Analog and Digital converter
Please log in to post comments.