Microcontroller Based Speedometer cum Odometer
The Micro-controller based Speedometer cum Odometer is a digital speedometer cum odometer can be installed with a motorbike. The circuit uses an AT89C2051 microcontroller, a 16x2 LCD display, 4N35 optocoupler, 24C02 EEPROM and some easily available components. The features of this digital Speedometer cum Odometer are:
1. Digital readout
2. Speed displayed in km/hour
3. Distance traveled displayed in kilometers
4. Readings saved in non-volatile memory (EEPROM)
5. Reliability due to the use of the microcontroller
6. No mechanical wear and tear
7. Home-brewed speed transducer/sensor
8. Self-reset to zero after completion of 99,999.9 km
9. Easy to build and fix onto the bike
Things which you can learn:
*Programming and Application of the AT89C2051 microcontroller
*Interfacing of an LCD module
*Application of reed switches and optocouplers for sensing
*Concepts of EEPROM storage
*Concepts and implementation of I2c protocol
Build a simple circuit which can digitally measure the speed and the distance covered by a vehicle and display it in an awesome 16*2 LCD for you to know.
A 2 0 - p in the AT89C2051 microcontroller from Atmel is used here because of its low pin count, affordability, and compatibility with CISC-based 8051 family. This microcontroller features 2 kB of Flash, 128 bytes of RAM, 15 input/output (I/O) lines, two 16-bit timers/counters, a five-vector two-level interrupt architecture, a full-duplex serial port, a precision analog comparator, on-chip oscillator and clock circuitry.
LCD module to display the speed and distance traveled, we have used a 16x2 alphanumeric LCD based on HD44780 controller. The backlight feature of the LCD allows data to be visible even at night. The readings of the distance traveled are saved in an external serial EEPROM. Here, a 24C02 serial EEPROM based on Philips I2C protocol is used.
Let’s assume that the MCU wants to send data to one of its slaves. First, the MCU will issue a START condition. This acts as an ‘attention’ signal to all of the connected devices. All ICs on the bus will listen to the bus for incoming data. Then the MCU sends the address of the device it wants to access, along with an indication whether the access is a ‘read’ or ‘write’ operation. Having received the address, all ICs will compare it with their own address. If it doesn’t match, they simply wait until the bus is released by the stop condition.
If the address matches, the chip will produce a response called ‘acknowledge’ signal. We have used write operation in this project. Once the MCU receives the acknowledge signal, it can start transmitting or receiving data. In our case, the MCU will transmit data. When all is done, the MCU will issue the stop condition. This signals that the bus has been released and that the connected ICs may expect another transmission to start any moment.