logo_toms
  • HOME
  • Tom’s hardware
  • Game Division
  • MobileLabs
  • Cultura Pop
  • MotorLabs
  • B2BLABS
  • More
  • forum
  • offerte
  • forum
hammer_toms
  • HOME
  • Tom’s hardware
  • Game Division
  • MobileLabs
  • Cultura Pop
  • MotorLabs
  • B2BLABS
  • More
  • forum
  • offerte
  • forum
  • Recensioni
  • The Division 2
  • Google Stadia
  • Windows May Update
  • Snapdragon
  • Amazon Echo
  • AMD Ryzen 3000
  • Codici sconto
IoT

Corso base di Arduino: come gestire la EEPROM

Tom's Hardware vive grazie al suo pubblico. Quando compri qualcosa dai nostri link, potremmo guadagnare una commissione. Scopri di più

IoT

Corso base di Arduino: come gestire la EEPROM

di Elettronica Open Source venerdì 20 Ottobre 2017 18:52
  • 2 min
  • vai ai commenti
Più informazioni su
  • Arduino
  • EMC
  • Programmazione
  • IoT

banner prova1

Quando si toglie l’alimentazione elettrica ad Arduino, si sa, tutti i dati elaborati nella sua RAM vengono irrimediabilmente persi. Vediamo quali sono le tecniche per conservare le informazioni nella memoria della famosa scheda di sviluppo, anche quando manca la corrente elettrica.

Ormai quasi tutti i microcontrollori ne posseggono una. Arduino ha una piccola memoria, la EEPROM, che ha la capacità di trattenere le informazioni anche in assenza di alimentazione elettrica, proprio come una microscopica memoria di massa. Esistono alcune librerie che permettono la scrittura e la lettura di tale memoria, in modo da conservare alcuni dati importanti.

Le funzioni per la gestione della EEPROM

La EEPROM è una memoria composta da 1024 byte (almeno per il modello di MCU ATmega328). E’ un insieme di celle, ognuna delle quali direttamente accessibile attraverso un indirizzo. Ogni cella può contenere una informazione. La libreria di Arduino gestisce alcune potenti funzioni, le più importanti delle quali sono:

  • EEPROM.read(address) Legge un dato dalla EEPROM a un particolare indirizzo
  • EEPROM.write(addr, val) Scrive un dato nella EEPROM a un indirizzo specificato

Ne esistono delle altre e il programmatore, ovviamente può crearne ulteriormente, secondo le proprie esigenze.

Ciclo di vita della EEPROM

La EEPROM, purtroppo, non è scrivibile all’infinito ma può essere sottoposta a memorizzazione solamente per 100.000 volte. Si tratta di un valore, comunque, estremamente elevato. In fase di programmazione basterebbe pianificare un numero minimo di scritture ed evitare le memorizzazioni inutili, ossia si devono scongiurare le registrazioni di un determinato valore quando lo stesso risulta già presente in memoria.

Un semplice conta persone con memoria

L’esempio che segue è un semplice conta persone o conta pezzi che incrementa una variabile ogni volta che si preme un pulsante, simulando l’azione di una fotocellula che rileva un raggio di luce interrotto solo dal passaggio di qualcosa. Il conteggio è visualizzato attraverso il monitor seriale dell’IDE di Arduino. La particolarità sta nel fatto che se dovesse mancare la tensione alla scheda, il conteggio non si perde e non si azzera ma riprende dal punto lasciato, appena il circuito è nuovamente alimentato. I valori incrementali sono infatti memorizzati in EEPROM. Il secondo pulsante ha il compito di azzerare il valore, memorizzando 0 semplicemente in memoria. La figura 1 mostra lo schema elettrico del dispositivo.

figura 1 schema elettrico
Figura 1: schema elettrico del conta persone con memoria

Lo sketch

Il programma, in figura 2, è molto semplice. Inoltre risulta estremamente commentato. La funzione setup() ha solo lo scopo di definire la velocità di comunicazione seriale e d’impostare, quale ingresso, i pin 6 (per il pulsante azzera) e 7 (per il pulsante di incremento). La funzione loop(), ripetuta continuamente e all’infinito, attende la pressione dei tasti. Se viene premuto il tasto di azzeramento, il programma memorizza il valore 0 sulla prima cella della EEPROM dimenticando, di fatto, il numero di oggetti o persone contate. Se viene premuto, invece, il tasto d’incremento il programma:

  • Legge il contenuto della EEPROM
  • Incrementa tale valore
  • Memorizza in EEPROM il nuovo valore
  • Visualizza le informazioni anche sul monitor seriale
  • Congela il programma in caso di pressione prolungata del pulsante, evitando inutili e ripetitivi incrementi al passaggio di una sola persona

Il listato è molto semplice è non prevede molte caratteristiche utili quali, ad esempio, il controllo dell’overflow o dell’anti rimbalzo per i pulsanti.

figura 2 sketch
Figura 2: lo sketch

La figura 3 mostra, infine, il monitor seriale durante il funzionamento del sistema.

figura 3 monitor seriale
Figura 3: monitor seriale
Tom's Consiglia

Per chi inizia ora e voglia dotarsi di tutto l'occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.

di Elettronica Open Source
venerdì 20 Ottobre 2017 18:52
  • 2 min
  • vai ai commenti
Shares
Più informazioni su
  • Arduino
  • EMC
  • Programmazione
  • IoT

Scarica gratis

l'app di Tom's Hardware
Vuoi ricevere aggiornamenti sui tuoi topics preferiti ogni giorno? Iscriviti alla newsletter
Leggi i commenti
toms_logo_white_footer
  • Privacy
  • Chi siamo
  • Contattaci
  • Feed RSS
  • Codici sconto
Google Play
App Store

3LABS S.R.L. • Via Dante 16 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

Copyright © 2022 - 3Labs Srl. - Tutti i diritti riservati. - credits: logo_edinet


  • Tom's Hardware
  • Game division
  • MobileLabs
  • Cultura Pop
  • MotorLabs
  • B2BLabs
  • More
  • Home
  • Le news di oggi
  • Le news di ieri
  • Le news dell'altro ieri

Ultime news

Ultimo video

Da non perdere su Tom's Hardware
Tapis Roulant migliori
Tapis Roulant elettrici | I migliori del 2022
In questo articolo scoprirete quali sono i migliori tapis roulant elettrici con cui allenarvi comodamente da casa.
10 di Dario De Vita - 57 minuti fa
  • allenamento a casa
  • BestOf
  • fitness
  • Sport
  • Tapis Roulant
  • Tapis roulant elettrici
  • Tapis roulant magnetici
10
Offerta
pc generico
Acquista un portatile MateBook, in regalo un monitor o un tablet
Acquistando questo laptop Hauwei potrai portare a casa un monitor o un tablet a costo zero!
2 di Valentina Valzania - 2 ore fa
  • Huawei MateBook 16
  • Huawei Matebook 16s
  • Notebook
  • Offerte e Sconti
  • Offerte Huawei
  • Offerte PC
  • Offerte Tech
  • PC
2
Offerta