Funkcjonalność jest taka, że tworzysz strasznego gniota. Zacznij od nauczenia się obliczenia ilości "upłyniętych" dziesiątek ms, w tym tygodniu wstawiałem taki przykładowy program już dwa razy. Sprawdzanie czy coś jest wciśnięte można robić w każdym obiegu loop, co określony czas, albo na przerwanie, jeszcze lepiej biblioteką, ale reszta programu musi mieć sens by użyć biblioteki - bez delay, natomiast próba wysyłania czegoś co każdy obieg loop przez I2C na ekran to porażka. Można zrobić bufor w pamięci na obejmujący taki przykładowy napis stopera "00:00:00" i w nim ewentualnie podmieniać znaki co 1/100s, wysyłać taki napis cyklicznie na ekran, ale wysyłanie tego napisu na ekran częściej niż 100ms nie ma większego sensu, ten ekran jest za wolny, a Ty jeszcze go czyścisz cały i zapisujesz od nowa, to trwa z 40ms. W opcji gdy jest wyłączony przez 2s nie zauważy w ogóle wciśniętego przycisku - delay(2000). Finalnie jak wszystko się uda zgodnie z tym planem to będzie zapisywał losowy start i stop, a ekran będzie głównie migotał.
Miło być decenianym https://buycoffee.to/kaczakat