Tech »

Rotating LED Display

Mechanical structure

The structure mainly consists of parts taken from "Mechanix-I". The motor used for rotating the structure is a standard tape-recorder motor rated at 12V. At one end of the rotating platform is the Programmer cum Application Board for the ATMega16 MCU. At the other end is the LED bar and the photo-transistor mounted on a PCB. The motor ran at around 300-400 RPM when given 12V, although most of the time we ran it at a lower voltage to reduce the speed.

Electronics

The LED bar is driven from Port-B of the ATMega16 MCU. We use only 8 out of the 10 LEDs on the bar. We use a resistor bank in series with the LED bar to limit the current through the LED bar. A photo-detector is made using a photo-transistor and a resistor from its emitter to ground. We give 5V to the collector of the photo-transistor from one of the pins of the AVR MCU and the output is taken across the resistor. This output is read through another pin of the AVR MCU. The photo-transistor arrangement is used to trigger the display so that it remains stable.

Software

We used avr-gcc and avrdude to compile and write the hex code to the AVR MCU. The main task was to develop a pattern for each alphabet. Currently we display only uppercase letters. Each character is a pattern on an 8(vertical)X 5(horizontal) grid. To make the C program for the AVR MCU we wrote a C++ program which takes the string to be displayed as the input and gives the C program as the output which contains the encoded form of the string in an array. We used PIND0 as a 5V supply for the photo-transistor and read the output of the photo-detector on PIND1. The delay values in the code are got just by hit-and-trial.

A video we took during initial stages when no external triggering was present: leddisplay.mpg (1522kB).
Another video after all the things were implemented: atoz.mpg (484kB).

Our code which generates the C file which is burnt on the microcontroller: Code.
A sample C file output by this program: sample.

Page last modified on Sat Oct 10 04:49:11 2009 - Powered by PmWiki

^