Here we describe a microcontroller-based propeller display that displays any message sent to it via hyper-terminal of a personal computer. Moreover, a temperature sensing IC (TMP125) is mounted onto the propeller display to display temperature in real time. It gives a 360-degree view and displays several characters in a revolving circular path using just eight LEDs. It is a cost-effective, attractive way of display that reduces the cost and complexity while making the whole system dynamic and energy-efficient. The main highlight o this project is a vertical facing display with true 360-degree viewing angle.
The basic idea of this project comes from the concept of persistence of vision. This phenomenon is related to vision capability of the human eye, where an afterimage is thought to persist for approximately 1/25th of a second. So if someone is observing images at a rate of 25 per second, they appear to form a continuous picture.
In this display, the LED strip moves so fast that one is able to see a matrix of LEDs. The time of a single rotation is divided into several shorter time periods during which each individual LED is kept on/off to display different characters. Temperature sensed by the temperature IC is sent to the controller via SPI bus.
Fig. 2 shows block diagram of the propeller display with temperature indicator. The LED strip is mounted vertically such that when the motor rotates, the strip also rotates in a circular fashion—creating a true 360-degree display. The message to be displayed is sent via RS232 interface using hyper-terminal. The message is displayed for 30 seconds and then the display switches to current temperature that is fetched from the temperature sensor. Interrupts are generated by the IR sensor-beam interrupter assembly.
Circuit and working
Fig. 3 shows the circuit of the propeller display. The circuit is built around microcontroller P89V51RD2 (IC1), temperature sensor TMP125 (IC2), MAX232 (IC3) and a few discrete components. Port pins P1.0 through P1.7 are connected to CON2, which further needs to be connected to CON3 of the LED strip comprising LED1 through LED8. These LEDs form a circular display when rotated very fast.
Microcontroller. The heart of the system is microcontroller P89V51RD2. The P89V51RD2 is an 8-bit 80C51 microcontroller with 64kB Flash and 1024 bytes of data RAM. It features three 16-bit timers/counters, programmable watchdog timer, eight interrupt sources with four priority levels, serial peripheral interface (SPI) and enhanced UART, programmable counter array with PWM and capture/compare functions, and four 8-bit input/output (I/O) ports. It has an on-chip oscillator and clock circuitry, which is operated up to 40MHz crystal. It supports 12 clocks per machine cycle (default) and 6 clocks per machine cycle mode, which can be selected via software. The Flash program memory supports both parallel programming as well as serial programming.
Power-on reset is provided by the combination of resistor R9 and capacitor C8. Switch S1 is used for manual reset. An 11.0592MHz crystal (XTAL1) along with two 33pF capacitors (C6 and C7) provides basic clock frequency to the microcontroller.
Temperature sensor with digital output. TMP125 is an SPI-compatible temperature sensor available in tiny SOT23-6 package. Requiring no external components, it is capable of measuring temperatures within accuracy of 2°C over a temperature range of −25°C to +85°C and within 2.5°C accuracy over −40°C to +125°C. Low supply current and a supply range from 2.7 V to 5.5 V make TMP125 an excellent candidate for low-power applications. TMP125 is ideal for extended thermal measurement in a variety of communication, computer, consumer, environmental, industrial and instrumentation applications. Port pins P2.0 through P2.2 of IC1 are used to interface the temperature sensor as shown in Fig. 3.
Download source code: click here
Interrupt sensor. A sensor is built (see Fig. 4) using IR transmitter (IRTX1) and receiver (IRRX1) to generate interrupts. In each revolution, as the beam is interrupted, the sensor generates a positive pulse, which is inverted with the help of a BC547 npn transistor (T1). The inverted pulse is fed to controller port pin P3.2. The microcontroller executes an interrupt routine when a pulse arrives.