Inhoudsopgave:
- Stap 1: Wat is een EEPROM?
- Stap 2: Importeer de bibliotheek
- Stap 3: Stel de initialisatievlag in
- Stap 4: Instellingen bijwerken
- Stap 5: Geniet
Video: Arduino EEPROM-instellingen initialisatie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Hallo iedereen, Elke Arduino heeft een klein ingebouwd geheugen genaamd EEPROM. U kunt dit gebruiken om instellingen voor uw project op te slaan, waarbij de gekozen waarden tussen stroomcycli worden bewaard en ze zullen er zijn de volgende keer dat u de Arduino opstart. Ik heb een coole truc die je leert hoe je een set standaardwaarden kunt initiëren bij je eerste run, dus blijf rondhangen om erachter te komen hoe.
Stap 1: Wat is een EEPROM?
Een EEPROM is een kleine geheugenopslag waarvan de waarden worden bewaard, zelfs als het Arduino-bord is uitgeschakeld. Dit werkt als een kleine harde schijf, zodat u uw parameters kunt opslaan voor de volgende keer dat u het apparaat opstart. Afhankelijk van het type Arduino-bord, heb je op elk een andere hoeveelheid opslagruimte beschikbaar, dus de Uno heeft bijvoorbeeld 1024 bytes, de Mega heeft 4096 bytes en de LilyPad heeft 512 bytes.
Het is belangrijk op te merken dat alle EEPROM's een beperkt aantal schrijfcycli hebben. Atmel specificeert een levensverwachting van ongeveer 100.000 schrijf-/wiscycli voor de EEPROM op de Arduino. Dit klinkt misschien als veel schrijven, maar het kan gemakkelijk zijn om deze limiet te bereiken als u in een lus leest en schrijft. Als een locatie te vaak is geschreven en gewist, kan deze onbetrouwbaar worden. Het kan zijn dat het niet de juiste gegevens retourneert of de waarde van een naburig bit retourneert.
Stap 2: Importeer de bibliotheek
Om dit geheugen te gebruiken, voegen we eerst de door de Arduino geleverde bibliotheek toe. De bibliotheek biedt twee methoden: lezen en schrijven voor de bijbehorende acties. De leesfunctie accepteert het adres waarvan we willen lezen, terwijl de schrijffunctie zowel het adres als de waarde accepteert die we willen schrijven.
In ons voorbeeld is het doel om een reeks instellingen klaar te hebben bij elke start van de Arduino, dus we beginnen met het definiëren van de array die we gaan gebruiken voor de opslag en het definiëren van de adressen voor elk van de instellingen die we willen opslaan. In een chip waar we 1024 bytes beschikbaar hebben, zullen de adreslocaties van 0 tot 1023 zijn.
Stap 3: Stel de initialisatievlag in
De truc voor de initiële instelling van standaardwaarden voor de instellingen is om een van de adressen te gebruiken als indicator of de instellingen al dan niet zijn geïnitialiseerd. Ik heb hiervoor de laatste adreslocatie gebruikt omdat deze vaak nergens anders voor wordt gebruikt. De functie loadSettings zal eerst deze locatie controleren als de daar opgeslagen waarde een "T"-teken is en zo niet, dan gaat het instelling door instelling, waarbij de initiële waarden voor elk van hen worden geschreven. Als dit klaar is, wordt nu de waarde van de locatie waar we de geïnitialiseerde instellingen bijhouden, ingesteld op het "T" -teken en de volgende keer dat we de Arduino inschakelen, zullen we de waarden niet langer initiëren, maar in plaats daarvan de opgeslagen gegevens inlezen in onze reeks.
Stap 4: Instellingen bijwerken
Voor het bijwerken van de waarden kunnen we ofwel de schrijffunctie gebruiken zoals we die bij de initialisatie hadden, maar een betere manier is om de meegeleverde updatefunctie te gebruiken. Wat deze functie doet, is dat hij eerst controleert of de waarde die we proberen op te slaan dezelfde is die al in de EEPROM staat en als dat zo is, wordt hij niet bijgewerkt. Door dit te doen, probeert het het aantal schrijfbewerkingen te minimaliseren om de levensduur van de EEPROM te verlengen.
Stap 5: Geniet
Ik hoop dat deze Instructable nuttig voor je was en dat je iets hebt geleerd. De broncode is beschikbaar op mijn GitHub-pagina en de link staat hieronder. Als je suggesties hebt, laat ze dan achter in de reacties en vergeet je niet te abonneren op mijn YouTube-kanaal voor meer vergelijkbare video's.
Aanbevolen:
GPS Para Norma (Datalogger EEPROM): 5 stappen
GPS Para Norma (Datalogger EEPROM): Eenvoudige GPS-datalogger voor huisdieren op basis van arduino- en EEPROM-opname ================================ =======================Sencillo datalogger GPS para mascotas basado en arduino y grabacion en memoria EEPROM
Klasse om de configuratie in de ESP32 EEPROM te beheren: 5 stappen:
Klasse om de configuratie in de ESP32 EEPROM te beheren: Hallo, ik wil alle klassen die ik heb ontwikkeld met u delen en het vereenvoudigt de taak van het toevoegen van configuratie-informatie op ESP32-apparaten. De klasse heeft de volgende doelstellingen: Het maken van een configuratie vergemakkelijken systeem op ESP32-apparaten
Arduino I²C™ EEPROM BYTEBANGER: 5 stappen
Arduino I²C™ EEPROM BYTEBANGER: Onlangs raakte ik geïntrigeerd door I²C EEProm's nadat ik er een paar had gered van een oude achterprojectie-tv die ik aan het slopen was. Tutorials over hoe deze dingen werkten
De ingebouwde EEPROM van uw Arduino: 6 stappen
De ingebouwde EEPROM van je Arduino: In dit artikel gaan we de interne EEPROM in onze Arduino-kaarten onderzoeken. Wat is een EEPROM die sommigen van jullie misschien zeggen? Een EEPROM is een elektrisch wisbaar programmeerbaar alleen-lezen geheugen. Het is een vorm van niet-vluchtig geheugen dat kan onthouden
Een 24LC256 EEPROM toevoegen aan de Arduino Due: 3 stappen
Een 24LC256 EEPROM toevoegen aan de Arduino Due: De arduino due heeft geen eeprom. Deze instructable voegt er een toe en stelt je in staat om waarden op te slaan in niet-vluchtig geheugen dat een Arduino-firmware-update zal overleven