Salvare tempi timer in EEprom

Ciao a tutti la mia richiesta di aiuto, si basa su come impostare dei tempi tramite pulsanti ed al rilascio, memorizzarli automaticamente in EEprom. Grazie per la collaborazione.

Magari se dai un po' più di dettagli è meglio ... non ti pare ??? Cosa vuoi che ne sappiamo noi che vuoi fare e di che tempi parli se non descrivi la tua applicazione ??? :astonished:

Guglielmo

Ciao hai perfettamente ragione, il progetto è composto da seguente hw: due pulsanti, due relè, un cicalino di avviso che sono entrato nel ciclo di setup. Tenendo premuto i due pulsanti all'accensione, entro nel ciclo di setup ed il cicalino comincia a suonare. Rilascio i pulsanti, premo il primo pulsante ed il relè si eccita. Al rilascio il relè di diseccita e memorizzo in eeprom il tempo che è rimasto premuto. Questo vale anche per il secondo pulsante. Se non eseguo nessuna operazione, dopo 60 secondi esco automaticamente dal setup. L'algoritmo funzionerebbe come un auto apprentimento. Grazie per l'attenzione. Stefano

Allora,
mi raccomando la terminologia … la “funzione” setup() di Arduino NON è un ciclo, ma è una funzione che viene eseguita una sola volta e che, normalmente, utilizzi appunto per il “setup” del tuo HW : esempio … definire i pin di INPUT, quelli di OUTPUT, inizializzarli, inizializzare le variabili, ecc. ecc.

Poi hai la funzione loop() … il suo contenuto viene ripetuto all’infinito e in essa scriverai il tuo vero codice.

Per il resto il tutto mi sembra abbastanza semplice … qualche test sugli input, qualche variabile per conservare il tempo di avvio e poter fare la differenza al rilascio e … la scrittura in EEPROM.

Ecco, per la scrittura in EEPROM puoi utilizzare le funzioni che la libreria AVR libc (… automaticamente inclusa dall’IDE) ti mette a disposizione ed in particolare le funzioni che hai includendo <avr/eeprom.h>.

Un ultima cosa … ti ricordo che ogni cella della EEPROM ha una vita limitata … circa 100’000 scritture. Possone essere un’enormità come possono essere poche … dipende con che frequenza una ci scrive :wink:

Guglielmo

Grazie Guglielmo per la pronta risposta. Vedo di scrivere uno skecth di prova. Buona giornata.

Benissimo ... ... poi mettilo qui e vediamo se ti serve aiuto o se si può ottimizzare :)

A presto !

Guglielmo