2 December 2013

Propeller Display

This is a cool LED display project I built back in my 3rd semester. It's based on the principle of Persistence of Vision. When a strip of 8 LEDs is rotated at a high rpm and switched at precise intervals, a static pattern can be produced.

So many lightning scars!

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 common example is a television set, in which each image is re-scanned 25 times per second, thus appearing continuous.

Rotating a glowing object at high speed appears as a glowing circular pattern to the human eye. Building on this basic idea, I fixed 8 LEDs linearly at equal distances from each other on a shaft attched to a high rpm dc motor. When these are rotated at high speed, 8 concentric circles are visible.

Strip of 8 LEDs
Main components:

  1. LED Strip
  2. Arduino Duemilanove
  3. 25000 RPM, 12 V DC motor
  4. Hall Effect Sensor (Wikipedia)
  5. 9 V battery to power the assembly
  6. 12 V wallwart adapter for the DC motor
  7. Aluminium Base for the setup

To display the pattern consistently at a fixed angle, it was necessary to know when a full rotation has been completed. To get this feedback, I attached a small permanent magnet to the base. A hall effect sensor was attached to the underside of the shaft such that the it passed directly over the magnet once per rotation. Thus I was able to get a signal per rotation.

I didn't have access to a proper workshop so had to improvise on a lot of stuff used to build this. The setup was mounted to the motor axle using M-Seal. The led strip and Arduino were fixed with double sided tape and dendrite glue. The LED strip had to be secured with additional rubber bands. The final important component was the aluminium base. It weighed nearly 2kgs. It had to be made heavy because otherwise the motor caused a lot of vibrations, putting a lot of strain on the whole assembly. The motor was fixed to the base as shown in the pictures.

Now that the hardware was ready, I needed to design software to make it function. Initially, I wrote a basic Arduino program to display a pattern. The pattern had to be saved in an array of ints as hex values. I'd designed each alphabet's hex pattern to show regular alphabets. But it was very cumbersome if I wanted to display any non textual pattern. To overcome this challenge, I designed the Canvas Designer program.

Canvas Designer is a cross-platform GUI desktop program that allows the user to visualize the LED pattern on the PC as it would appear on the display. Each black dot represents an LED position as it would appear in the rotating display. Each dot can be clicked to switch on the LED, at that particular position. The display can be rotated by dragging the green slider. Text can be entered manually to generate a pattern for the same. The ‘Generate Code’ button generates the hex pattern which is used by the Arduino program. It was written in Java using the Processing library for graphics.

Designed Pattern

Pattern obtained on display

And finally, a demo video (P.S - The video was shot before the paint job.) 

The project won the best display award for at the Propeller Display competition at Troika 2012. =)

1 comment:

  1. sir can you upload your software the "Propeller Display - Canvass Designer"..thanks i need it so much..thanks for your help :) godbless