Sono neofita di Arduino e quindi non conosco bene il suo funzionamento. Ho realizzato un Timer con LCD e pulsanti, ho scritto il codice e tutto funziona a meraviglia, quando avvio Arduino il timer ha di default un valore di partenza per inizio countdown di 15 secondi, ma con i pulsanti posso settare i minuti e secondi da cui iniziare il countdown.
La domanda è questa: è possibile fare in modo che i valori settati tramite pulsanti possano essere memorizzati e utilizzati da Arduino come nuovi valori di default?
Questa cosa sarebbe a mio avviso molto utile per tante applicazioni, se ad esempio si realizza un'antifurto è necessario poter settare i vari parametri tipo (zone incluse/escluse, zona ritardata/istantanea, tempo di uscita, password, etc.) senza dover riprogrammare Arduino , ma solo immagazzinando i valori si setup in qualche modo.
E' possibile????
Grazie
Certo che SI ...
... la MCU di Arduino (ATmega328p) ha un'area di memoria non volatile chiamata EEPROM. Ciò che scrivi nella EEPROM viene conservato anche se togli l'alimentazione e, al riavvio, puoi andare a leggere i dati che ci avevi salvato.
C'è un'apposita libreria molto semplice QUI ![]()
Guglielmo
P.S. : Attenzione solo al fatto che le celle di memoria della EEPROM, contrariamente a quelle della SRAM, possono essere riscritte, al massimo, circa 100'000 volte, poi possono presentare perdita di informazioni. Quindi ... da non usare per salvare un valore ogni millesimo di secondo, altrimenti avrà vita breve
![]()
Ti ringrazio, molto gentile,ora vado a vedere, cmq a me serve salvare i dati solo quando decido di modificare i dati di setup e non per una registrazione continua di dati in ingresso, in quel caso userei una sd ![]()
Guardati anche QUESTA libreria ... che è un po' più flessibile ... ![]()
Guglielmo
Basta leggere il dato prima di scrivere e non eseguire l'operazione se il valore è identico al precedente.