Arduino clock with alarm, temperature & humidity
- Clock
- Alarm with buzzer
- Temperature and Humidity reading
- Arduino Uno
- DS1307 RTC
- DHT22 Temperature and Humidity Sensor
- Digital Buzzer
- Push Button (x3)
- 16x2 LCD
- LCD I2C interface module
The program has 2 menus - The main menu and the alarm menu. The main menu displays the current time and date, as well as temperature and humidity information. The alarm menu allows users to change the alarm timing. Changes to the alarm timing are automatically saved.
There are 3 push buttons. Below are the functionality of each button depending on the menu.
-
Button One (Pin 5)
- Main Menu - Toggle to the next menu
- Alarm Menu - Toggle to the next menu
-
Button Two (Pin 6)
- Alarm Menu - Move LCD cursor to the next position
-
Button Three (Pin 7)
- Main Menu - Set alarm ON/OFF
- Alarm Menu - Increment digit
If the alarm is ringing, then pressing any button will turn off the alarm.
-
Contact bounce - The contact bounce of the push buttons lead to multiple clicks being registered for a single click. The problem is somewhat mitigated by delaying loop execution. Maybe push button hardware problem?
-
Validate alarm time - There is no error checking to check if user enters an invalid date for the alarm. Maybe submit a pull request on this suggestion for DateTime library?
Arduino-Clock is licensed under the GNU General Public License v3.0.