Come salvare l'orario tramite setting da pulsanti

Ciao a tutti
Sto costruendo una sveglia con un classico display e un modulo rtc. Il setting dell’ora lo faccio tramite 3 pulsanti set, incrementa, decrementa.
Aggiungendo opportunamente un menù che consenta di regolare l’ora dell’ allarme come posso fare per salvare tale variabile?
Grazie a tutti :wink:

non capisco la Tua domanda. Non usi un RTC con l' alarme? in alternativa ci sono RTC con NVRAM
Ciao Uwe

Ma soprattutto quale chip RTC ? C'e' ne sono diversi, ne conosco almeno 3, DS1302, DS1307, DS3231

Uso un rtc 1307. Io da software ho intenzione di salvare un dato inserito tramite i pulsanti che uso per regolare l'ora ( creando un apposito menù sveglia)

Non ho capito ... DOVE vuoi salvare l'ora dell'allarme ? Su Arduino o sul RTC ?

Guglielmo

Su Arduino

Ok, quindi tu tramite il tuo menu acquisisci una variabile di un dato tipo che ti rappresenta l'ora di Allarme e, se ho ben capito, vorresti salvare tale variabile in modo che, anche in assenza di luce, alla ripartenza l'ora la prendi dall'RTC e l'allarme lo vuoi recuperare in Arduino, giusto ?

Se è così puoi usare la EEPROM che conserva il valore memorizzato anche in mancanza di alimentazione.

Guglielmo

La EEPROM è integrata in arduino giusto? Il problema è che non saprei la procedura software per salvare tale dato

Basta che usi la libreria EEPROM di Arduino e i metodi che essa ti mette a disposizione. Su Arduino UNO hai 1KByte a disposizione :wink:

Tu quanti bytes devi salvare ? Come è fatta la variabile dove salvi l’allarme ?

Guglielmo

Ciao,
... o volendo il ds 1307 ha una ram alimentata dalla batteria tampone.

Stefano

cam9500:
Ciao,
... o volendo il ds 1307 ha una ram alimentata dalla batteria tampone.

Anche, cambia poco ... l'importante NON è dove, ma capire che "tipo" di dato deve salvare (un unsigned long ? una struttura ?, ecc.).

Guglielmo

È un dato composto da ore e minuti: HH:MM

Ricapitolando. Creo una variabile composta da ore e minuti, devo salvarla (non so come) e quando l’orario corrisponde con la variabile suona la sveglia(qua non ci sono problemi)

Ma hai almeno guardato gli esempi di utilizzo della EEPROM? Parlo di:

Scrittura: https://www.arduino.cc/en/Tutorial/EEPROMWrite
Lettura: https://www.arduino.cc/en/Tutorial/EEPROMRead

Perché basta fare esattamente quel che trovi lì, solo ripetuto due volte, una per le ore e una per i minuti.

Stasera proverò e vi faccio sapere :wink: