Movable Alarm Clock

This project is for the people who faces difficulty in waking up early in the morning or have the habit of snoozing the alarm. In short, this alarm clock runs away from the user as he tries to snooze his alarm. The whole unit is mounted on a chassis with caterpillar-style wheels driven by two small DC motors. The runaway feature is implemented using a proximity sensor which is placed near the snooze button. It has all the features of a “regular” alarm clock: settable time and alarm, snooze, and alarm on/off. The project is divided into four levels namely the clock feature with display. The alarm feature motion control and proximity detection. The alarm tone is generated using a 555 timer while a real timer kernel is implemented on the Atmega MCU to run each of these tasks independently and simultaneously on the microcontroller. The display is built out of seven segment LED’s running on the principle of persistence of vision. The accuracy of the clock is pretty good, and the speed of the bot can be raised up… Continue reading

555 Timer reduces number of I/O pins in Keypad Interfacing

Keypads are very common input devices in  embedded systems. The most common method of interfacing a keypad involves scanning of rows and columns to determine which key has been pressed. The multiple keys in a keypad are arranged in the form of a matrix to reduce the number of interface pins but that still requires quite a bit of I/O resources which may not be affordable by mid-range microcontrollers. This article is about a keypad interfacing technique that requires only two connections to interface with a microcontroller. It uses a 555 timer IC configured as an astable multivibrator where the frequency of oscillation is varied with the pressed key. The technique has been demonstrated with a PIC16F628A microcontroller that couts the 555 output pulses through the Timer0 module for an interval of 100 ms. The information about the pressed key is derived from the number of times the timer module overflows during the interval. Continue reading