Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
Hola a tothom, Tots els Arduino tenen una petita memòria integrada anomenada EEPROM. Podeu utilitzar-lo per emmagatzemar la configuració del vostre projecte, on es guardaran els valors escollits entre els cicles de potència i hi seran la propera vegada que engegueu l'Arduino. Tinc un truc fantàstic que us ensenyarà com podeu iniciar un conjunt de valors per defecte en la vostra primera tirada, així que us quedeu per saber com fer-ho.
Pas 1: què és una EEPROM?
Una EEPROM és un petit emmagatzematge de memòria, els valors del qual es mantenen fins i tot mentre la placa Arduino està apagada. Funciona com un petit disc dur perquè pugueu emmagatzemar paràmetres per a la propera vegada que engegueu el dispositiu. Depenent del tipus de placa Arduino, tindreu disponible una quantitat d’emmagatzematge diferent, de manera que, per exemple, l’Uno té 1024 bytes, el Mega té 4096 bytes i el LilyPad té 512 bytes.
És important tenir en compte que totes les EEPROM tenen un nombre limitat de cicles d’escriptura. Atmel especifica una esperança de vida d’uns 100.000 cicles d’escriptura / esborrat per a la EEPROM a l’Arduino. Pot semblar moltes escriptures, però pot ser fàcil assolir aquest límit si esteu llegint i escrivint en bucle. Un cop s'ha escrit i esborrat una ubicació massa vegades, pot començar a ser poc fiable. És possible que no retorni les dades correctes o que retorni el valor d’un bit veí.
Pas 2: importeu la biblioteca
Per utilitzar aquesta memòria, primer incloem la biblioteca proporcionada per Arduino. La biblioteca proporciona dos mètodes: llegir i escriure per a les accions corresponents. La funció de lectura accepta l'adreça que volem llegir, mentre que la funció d'escriptura accepta tant l'adreça com el valor que volem escriure.
En el nostre exemple, l’objectiu és tenir una matriu de paràmetres preparats a cada inici de l’Arduino, de manera que comencem definint la matriu que utilitzarem per a l’emmagatzematge i definim les adreces de cadascun dels paràmetres que volem emmagatzemar. En un xip on tenim 1024 bytes disponibles, les ubicacions de l'adreça seran de 0 a 1023.
Pas 3: definiu el senyalador d'inicialització
El truc per a la configuració inicial dels valors predeterminats per a la configuració és utilitzar una de les adreces com a indicador de si els paràmetres s’han inicialitzat o no. He utilitzat la darrera ubicació de l’adreça perquè sovint no s’utilitza per a res més. La funció loadSettings comprovarà primer aquesta ubicació si el valor allà emmagatzemat té un caràcter “T” i, si no, es configurarà configurant, escrivint els valors inicials de cadascun d’ells. Un cop fet, ara establirà el valor de la ubicació on realitzem un seguiment de la configuració inicialitzada al caràcter "T" i la propera vegada que encengui l'Arduino, ja no iniciarem els valors, sinó que llegirem les dades desades a la nostra matriu.
Pas 4: actualització de la configuració
Per actualitzar els valors, podem utilitzar la funció d’escriptura tal com la teníem a la inicialització, però una millor manera és utilitzar la funció d’actualització proporcionada. El que fa aquesta funció és que primer comproveu si el valor que intentem desar és el mateix que ja es troba a l'EEPROM i, si és així, no s'actualitza. En fer-ho, intenta minimitzar el nombre d’operacions d’escriptura per tal d’allargar la vida de l’EEPROM.
Pas 5: gaudiu
Espero que aquest Instructable us hagi estat útil i que hàgiu aconseguit aprendre alguna cosa. El codi font està disponible a la meva pàgina de GitHub i l'enllaç es troba a continuació. Si teniu algun suggeriment, deixeu-los als comentaris i no oblideu subscriure-us al meu canal de YouTube per obtenir més vídeos similars.