Stai mescolando piani diversi...
RTC = Real Time Clock. Funziona indipendentemente dall'arduino, ha una sua batteria e un suo quarzo (sto guardando il modulo DS1307 della sparkfun che ho davanti). Ogni tanto l'arduino chiede l'ora all'RTC via I2C, e aggiorna i contatori in RAM.
La libreria Time si preoccupa di tutto questo (*), e il risultato è che anche dopo l'accensione o il reset le funzioni year(), month(), ecc. ritornano l'ora corrente senza necessità di reimpostarla ogni volta.
Quindi anche se nel codice usi delay(), l'RTC continua a "tenere il tempo". Ma delay() non va usata. Per altri motivi

Per quanto riguarda la velocità di risposta del display alla pressione dei tasti, tutto sta nell'usare la tecnica blink without delay (e non delay(), appunto).
Il programma va strutturato a "stati" anziché in modo sequenziale.
(*) a patto di impostare l'RTC come timesource, vedi documentazione libreria.
Innanzitutto grazie delle risposte.
Purtroppo alcune non mi sono chiarissime... ma ci sto lavorando.
Incominciamo dall'orologio, OK ho capito va per i fatti suoi e questo va bene. Ma dove si attacca? I2C presumo sia un sistema di comunicazione diversa, quella con sei punte?
Tu dici che non bisogna usare delay() e questo mi pare di capirlo. Devo usare la tecnica blink senza delay e qua è nebbia totale...
Cosa significa " a stati" io presumo che sia un modo che nel diagramma di flusso abbia diversi livelli: è così?
Per quello che so di cicli condizionali ......
devo fare in modo di gestire tramite la pressione dei tasti le variabili di controllo del sistema, che se non collegato al PC deve consentire di caricare
Data e ora corrente ( se serve anche con RTC)
Accensione e spegnimento luci: T1on T2off....... T3on T3off
Temperatura
Ph
Io userei un case dove a seconda delle varie pressioni che si esercitano il valore conduca all'immissione del dato voluto, poi finita la dichiarazione dei parametri in assenza per tot tempo di pressione sui tasti tornare al ciclo automatico di gestione delle porte.
E già qui ci starebbe un delay.
Cioè, quello che devo fare più o meno mi è chiaro, ma non so come implementarlo come struttura.
Al momento ho tre elementi
Arduino uno rev3
LCD 1602 con cinque tasti
Shield con otto relay a 5V (montata su scheda)
il tutto acquistato alla fiera.
Poi ho preso LM35DZ
Ho già realizzato senza grandi difficoltà la prova dello shield LCD e dei tasti, la misura della temperatura mediata su 30 valori e mandata al monitor seriale, un utilizzo del LCd come orologio grazie ad una libreria SWRTC trovata qui.
E' la struttura di base della implementazione dati che mi mette in crisi, nel piccolo mi ci trovo, però mettere tutti i pezzi insieme... è diverso.
Grazie, scusate se sono lungo.