This countdown timer demonstrates practical use of our LCD menu library code. It features multiple timer profiles, and is targeted to work with Arduino R3 Uno/Leonardo/Mega2560 and LCD keypad shield similar to that in the picture below:
There are numerous manufacturers of LCD keypad shields that have the same or similar pin connections, and you must ensure that the timer source code uses the pin connections that are right for your shield. If the keypad buttons of your shield give different analog readings, you’ll need to make changes to file LcdKeypad.h. Bear in mind that the analog readings are not always consistent, which can lead to the occasional misreporting of a button press.
The count down timer has multiple profiles that are configurable using a menu. The Select button on the LCD shield starts/stops a timer, with a long press resetting the timer. A long press of Up enters the menu. Up/Down/Right buttons are for navigating the menu, and Select for choosing a menu item. When an item is selected, Up/Down are used for changing values. When the Reset menu item is displayed, a long press of Select loads default configuration values. Digital pin 2 is used for activating a beeper for the alarm.
The source code can be downloaded from the link below.
Examining the source should give you good insight for using the menu system in your own projects. If you find this timer useful, please share it. Thank you for reading.
Update! The TimerOne library dependency has been removed. You no longer need it to compile the project.