This post is about building a 3-digit countdown timer based on Arduino MEGA. For related circuit based on PIC16F876 MCU click here. The timer will wait for 3-digit number to be entered via 4×3 keypad and then start counting down to zero. Each count is 1 second long so the Max value is 999 seconds. When the counters at 000 it will turn ON the buzzer connected to A0 on the Arduino board. During the timer operation you can’t stop the count or enter a new value from a keypad. There are 2 ways to update the timer with new time settings: 1 – wait for 000, 2 – Reset the timer by resetting the Arduino MEGA board. The schematic diagram and the project itself are very similar to Electronic Lock design that I’ve published earlier.
The Max range of the timer can be increased by adding additional digits in the Arduino sketch attached here. Pay attention to possible contact bounce from the keypad if proper delay between keypad scans is not maintained correctly. The Arduino I/O’s used for this design are also compatible with Arduino UNO or similar platforms so the code can be easily migrated.
The buzzer and the LED connected to A0 can be replaced with a MOSFET switch or relay to drive higher loads. Also it’s probably a good idea to add a mechanical switch to this pin to avoid activating the load at Reset state.