Arduino Uno LCD Clock Github

As an extracurricular project, I decided to program a digital clock using an Arduino Uno. The idea of this project was to use the Arduino's processor and clock to demonstrate a precise timer interrupt that would increment the clock's 'seconds' count exactly once a second.

Using the C/C++ Arduino language, I set up communication with a Liquid Crystal Display (LCD Screen) via the I2C Protocol. The LCD was used to display the current, time and date.


The Desk
The Desk

This project taught a lot about how to use interrupt timers. Although I have seen them in school, this was an interesting way to implement them in my own project. More specifically, I learned why I would want to use them as compared to the built-in delay() functions: precision.

While this project displays the current date and time on the LCD, I also designed a terminal-based UI for the user to configure the correct time and date, as seen on the left. This gave me more experience in parsing user inputs and converting strings into the correct type necessary to be printed onto the LCD. Furthermore, there were many edge cases that had to be handled given the various user inputs the program could accept.