Tartalomjegyzék:
Videó: Az Arduino beépített EEPROM -ja: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ebben a cikkben megvizsgáljuk az Arduino táblák belső EEPROM -ját. Mit mondhat EEPROM egyesek közül? Az EEPROM egy elektromosan törölhető, programozható, csak olvasható memória.
Ez a nem felejtő memória egy formája, amely képes kikapcsolni vagy az Arduino alaphelyzetbe állítása után emlékezni a dolgokra. Az ilyen típusú memória szépsége abban rejlik, hogy a vázlaton belül generált adatokat tartósabban tárolhatjuk.
Miért használja a belső EEPROM -ot? Azokban a helyzetekben, amikor a helyzetre jellemző adatoknak tartósabb otthonra van szükségük. Például egy kereskedelmi Arduino-alapú projekt egyedi sorozatszámának és gyártási dátumának tárolása-a vázlat egy funkciója megjelenítheti a sorozatszámot egy LCD-n, vagy az adatok olvashatók egy „szolgáltatási vázlat” feltöltésével. Vagy előfordulhat, hogy számolnia kell bizonyos eseményeket, és nem engedheti meg a felhasználónak, hogy visszaállítsa azokat-például kilométer-számlálót vagy működési ciklusszámlálót.
1. lépés: Milyen típusú adatokat lehet tárolni?
Bármi, ami adat bájtként ábrázolható. Egy bájtnyi adat nyolc bitből áll. A bit lehet bekapcsolt (1. érték) vagy kikapcsolt (0 érték), és tökéletes számok bináris formában történő ábrázolására. Más szóval, egy bináris szám csak nullákat és egyeseket használhat az érték ábrázolására. Így a bináris „alap-2” néven is ismert, mivel csak két számjegyet használhat.
Hogyan jelenthet egy bináris szám, amely csak két számjegyet használ, nagyobb számot? Sok egyet és nullát használ. Vizsgáljunk meg egy bináris számot, mondjuk 10101010. Mivel ez egy 2-es alapszám, minden számjegy 2-t jelent x hatványáig, x = 0-tól kezdve.
2. lépés:
Nézze meg, hogy a bináris szám minden számjegye hogyan jelenthet egy 10-es számot. Tehát a fenti bináris szám 85-öt jelent a 10-es bázisban-a 85-ös érték az alap-10-es értékek összege. Egy másik példa - a bináris 11111111 a 10 bázis 255 -ösével egyenlő.
3. lépés:
Most a bináris szám minden számjegye egy „bit” memóriát használ, és nyolc bit bájt. Az Arduino táblákon található mikrokontrollerek belső korlátai miatt csak 8 bites számokat (egy bájt) tárolhatunk az EEPROM-ban.
Ez korlátozza a szám tizedes értékét nulla és 255 közé. Ezután Ön dönti el, hogy az adatok hogyan jeleníthetők meg ezzel a számtartománnyal. Ne hagyja magát elriasztani - a megfelelően elrendezett számok szinte bármit jelenthetnek! Egy korlátozással kell számolni - az EEPROM olvasási vagy írási száma. A gyártó Atmel szerint az EEPROM 100 000 olvasási/írási ciklusra alkalmas (lásd az adatlapot).
4. lépés:
Most már tudjuk a bitjeinket és a bájtjainkat, hány bájt tárolható az Arduino mikrokontrollerében? A válasz a mikrokontroller modelljétől függően változik. Például:
- Táblák Atmel ATmega328 -mal, például Arduino Uno, Uno SMD, Nano, Lilypad stb. - 1024 bájt (1 kilobájt)
- Az Atmel ATmega1280 vagy 2560 típusú táblák, például az Arduino Mega sorozat - 4096 bájt (4 kilobájt)
- Táblák Atmel ATmega168 -mal, mint például az eredeti Arduino Lilypad, régi Nano, Diecimila stb. - 512 bájt.
Ha bizonytalan, nézze meg az Arduino hardverindexet, vagy kérdezze meg az alaplap beszállítóját. Ha több EEPROM tárolóra van szüksége, mint amennyi a mikrokontrollerével elérhető, fontolja meg a külső I2C EEPROM használatát.
Ezen a ponton most megértjük, hogy milyen adatok és mennyi tárolható az Arduino EEPROM -jában. Most itt az ideje, hogy ezt cselekedjék. Amint azt korábban tárgyaltuk, véges mennyiségű hely áll rendelkezésre az adataink számára. A következő példákban egy tipikus Arduino kártyát fogunk használni az ATmega328 -mal, 1024 bájt EEPROM tárhellyel.
5. lépés:
Az EEPROM használatához könyvtár szükséges, ezért használja a következő könyvtárat a vázlatokban:
#include "EEPROM.h"
A többi nagyon egyszerű. Adatok tárolásához a következő funkciót használjuk:
EEPROM.write (a, b);
Az a paraméter az EEPROM pozíciója az adatok b (0 ~ 255) egész számának tárolására. Ebben a példában 1024 bájt memóriát tárolunk, tehát a értéke 0 és 1023 között van. Egy adat lekérése ugyanolyan egyszerű, használja:
z = EEPROM.read (a);
Ahol z egész szám az EEPROM pozícióból származó adatok tárolására a. Most, hogy lássunk egy példát.
6. lépés:
Ez a vázlat véletlenszerű számokat hoz létre 0 és 255 között, tárolja őket az EEPROM -ban, majd lekéri és megjeleníti a soros monitoron. Az EEsize változó az EEPROM méretének felső határa, tehát (például) ez 1024 lenne Arduino Uno esetén, vagy 4096 Mega esetén.
// Arduino belső EEPROM bemutató
#befoglalni
int zz; int EEsize = 1024; // a méret az alaplap EEPROM -jában
üres beállítás ()
{Serial.begin (9600); randomSeed (analógRead (0)); } void loop () {Serial.println ("Véletlen számok írása …"); for (int i = 0; i <EEsize; i ++) {zz = random (255); EEPROM.write (i, zz); } Sorozat.println (); for (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("EEPROM pozíció:"); Sorozatnyomat (a); Serial.print ("tartalmaz"); Soros.println (zz); késleltetés (25); }}
A soros monitor kimenete megjelenik, amint az a képen is látható.
Tehát itt van, egy másik hasznos módszer az adatok tárolására Arduino rendszereinkkel. Bár nem a legizgalmasabb oktatóanyag, mindenképpen hasznos.
Ezt a bejegyzést a pmdway.com hozta neked - mindent a gyártóknak és az elektronika rajongóinak, ingyenes szállítással világszerte.
Ajánlott:
Hordozható mini feszültségű tápegység USB-vel, zseblámpával, alkatrészteszterrel és beépített töltővel: 6 lépés
Hordozható mini feszültségű tápegység USB-vel, zseblámpával, alkatrészteszterrel és beépített töltővel: Üdvözöllek első oktatható eszközömben! Ezzel az oktatható eszközzel haszontalan/olcsó napenergia -bankot (néhány extra alkatrésszel) hasznos dologgá alakíthat. Valamit, amit minden nap használhatsz, mint én, mert tényleg szuper használni! A legtöbb
Képtartó beépített hangszóróval: 7 lépés (képekkel)
Képtartó beépített hangszóróval: Itt egy nagyszerű projekt, amelyet hétvégén vállalhatunk, ha saját hangszórót szeretnénk készíteni, amely képes képeket/képeslapokat vagy akár teendők listáját tárolni. Az építkezés részeként egy Raspberry Pi Zero W -t fogunk használni a projekt szívéül, és egy
Beépített ablakkezelő: 10 lépés
Beágyazott ablakkezelő: Ez a projekt bemutatja, hogyan valósítható meg egy ablakkezelő mozgatható, átlapolt ablakokkal egy beágyazott mikrovezérlőn, LCD panellel és érintőképernyővel. Vannak kereskedelmi forgalomban kapható szoftvercsomagok erre, de ezek pénzbe kerülnek és közel vannak
Beépített szekrény: 4 lépés
Beágyazott szekrény: Egy boldog aurában a dolgok belülről tartása olyan, mint egy hatalmas izgalom. A „Lock of Lock” név valóban magával ragadó része a napi cikkeimnek, amelyek természetüknél fogva mindenütt jelen vannak, de mit tesz? Egyszerű
Arduino MEGA 2560 beépített WiFi -vel - ESP8266: 10 lépés
Arduino MEGA 2560 beépített WiFi -vel - ESP8266: A mai szövegben egy olyan Arduino -ról beszélünk, amelyet rendkívül különlegesnek tartok, mivel az ESP8266 be van ágyazva a táblába. Az ESP12 nincs forrasztva a táblára. Ehelyett az Espressif chip van benne. Tehát a táblán van a beépített