Opinione su codice

Buonasera a tutti, dopo un paio di mesi di lavoro "a tempo perso", ho creato un programma per creare una centralina alba/tramonto per i canarini. La centralina è stata in test per un mese abbondante, e da un paio di settimane la ho messa in lavoro (con qualche piccola modifica hardware per ottimizzarla).

Le funzioni che ho creato sono queste: impostazione di data e ora, impostazione di ora e minuto di accensione/spegnimento dei neon (usando un relè comandato da un transistor NPN), incremento giornaliero dei minuti, durata alba e durata tramonto.
L'alba e il tramonto sono fatti in PMW comandando barre a led a 24Vcc.

Mi farebbe davvero piacere se qualcuno avesse del tempo per visionare il codice ed aiutarmi dicendomi se c'è qualcosa da cambiare, eliminare o da ottimizzare. Non sono un programmatore, faccio tutto a tempo perso, quindi immagino che le "gabole" saranno tante (siate buoni), però adesso che ho visto che il tutto funziona, mi piacerebbe provare a rendere migliore il lato codice.

La parte hardware è la seguente:

  • arduino UNO
  • display 20x4 HD44780 (collegamento tramite I2C)
  • joystick analogico + pushbutton per impostazione dati e movimenti nei menù
  • RTC DS3231 (collegamento tramite I2C)