Obsah:
Video: Vestavěná EEPROM vašeho Arduina: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
V tomto článku prozkoumáme interní EEPROM v našich deskách Arduino. Co je to EEPROM, který někteří z vás možná říkají? EEPROM je elektricky vymazatelná programovatelná paměť pouze pro čtení.
Je to forma energeticky nezávislé paměti, která si pamatuje věci při vypnutém napájení nebo po resetování Arduina. Krása tohoto druhu paměti spočívá v tom, že můžeme data generovaná v náčrtu ukládat trvaleji.
Proč byste používali interní EEPROM? V situacích, kdy data, která jsou pro danou situaci jedinečná, vyžadují trvalejší domov. Například uložení jedinečného sériového čísla a data výroby komerčního projektu založeného na Arduinu-funkce náčrtu by mohla zobrazit sériové číslo na LCD displeji, nebo by se data dala přečíst nahráním „servisního náčrtu“. Nebo možná budete muset počítat určité události a nedovolit uživateli, aby je resetoval-například počítadlo kilometrů nebo počítadlo provozních cyklů.
Krok 1: Jaký druh dat lze uložit?
Cokoli, co lze reprezentovat jako bajty dat. Jeden bajt dat se skládá z osmi bitů dat. Bit může být buď zapnutý (hodnota 1) nebo vypnutý (hodnota 0) a je ideální pro reprezentaci čísel v binární formě. Jinými slovy, binární číslo může k reprezentaci hodnoty používat pouze nuly a jedničky. Binární číslo je tedy také známé jako „základna-2“, protože může používat pouze dvě číslice.
Jak může binární číslo s pouhým použitím dvou číslic představovat větší číslo? Používá spoustu jedniček a nul. Podívejme se na binární číslo, řekněme 10101010. Protože se jedná o číslo na bázi 2, každá číslice představuje 2 k síle x od x = 0 dále.
Krok 2:
Podívejte se, jak každá číslice binárního čísla může představovat číslo 10. Binární číslo výše tedy představuje 85 v základně-10-hodnota 85 je součtem hodnot základny-10. Další příklad - 11111111 v binárním formátu se rovná 255 v základu 10.
Krok 3:
Nyní každá číslice v tomto binárním čísle využívá jeden „bit“paměti a osm bitů tvoří bajt. Vzhledem k interním omezením mikrokontrolérů v našich deskách Arduino můžeme do EEPROM ukládat pouze 8bitová čísla (jeden bajt).
To omezuje desetinnou hodnotu čísla na hodnotu mezi nulou a 255. Je pak na vás, jak se vaše data v daném číselném rozsahu zobrazují. Nenechte se tím odradit - čísla uspořádaná správným způsobem mohou představovat téměř cokoli! Je třeba dbát na jedno omezení - kolikrát můžeme číst nebo zapisovat do EEPROM. Podle výrobce Atmel je EEPROM dobrá na 100 000 cyklů čtení/zápisu (viz datový list).
Krok 4:
Nyní známe své bity a bajty, kolik bajtů lze uložit do mikrokontroléru našeho Arduina? Odpověď se liší v závislosti na modelu mikrokontroléru. Například:
- Desky s Atmel ATmega328, jako Arduino Uno, Uno SMD, Nano, Lilypad atd. - 1024 bajtů (1 kilobajt)
- Desky s Atmel ATmega1280 nebo 2560, jako je řada Arduino Mega - 4096 bajtů (4 kilobajty)
- Desky s Atmel ATmega168, jako je původní Arduino Lilypad, stará Nano, Diecimila atd. - 512 bajtů.
Pokud si nejste jisti, podívejte se na hardwarový index Arduino nebo se zeptejte svého dodavatele desky. Pokud potřebujete více úložiště EEPROM, než jaké je k dispozici u vašeho mikrokontroléru, zvažte použití externí I2C EEPROM.
V tomto okamžiku nyní chápeme, jaký druh dat a kolik lze uložit do naší EEPROM naší Arduino. Nyní je na čase to uvést do praxe. Jak již bylo zmíněno dříve, pro naše data existuje omezené množství prostoru. V následujících příkladech použijeme typickou desku Arduino s ATmega328 s 1024 bajty úložiště EEPROM.
Krok 5:
K použití EEPROM je nutná knihovna, proto ve svých skicách použijte následující knihovnu:
#include "EEPROM.h"
Zbytek je velmi jednoduchý. K uložení kusu dat používáme následující funkci:
EEPROM.write (a, b);
Parametr a je pozice v EEPROM pro uložení celého čísla (0 ~ 255) dat b. V tomto příkladu máme 1024 bajtů paměťového úložiště, takže hodnota a je mezi 0 a 1023. K získání části dat je stejně jednoduché, použijte:
z = EEPROM.read (a);
Kde z je celé číslo pro uložení dat z pozice EEPROM a. Nyní k ukázce.
Krok 6:
Tato skica vytvoří náhodná čísla mezi 0 a 255, uloží je do EEPROM, poté je načte a zobrazí na sériovém monitoru. Proměnná EEsize je horní limit velikosti vaší EEPROM, takže (například) by to bylo 1024 pro Arduino Uno nebo 4096 pro Mega.
// Interní ukázka EEPROM Arduina
#zahrnout
int zz; int EEsize = 1024; // velikost v bajtech EEPROM vaší desky
neplatné nastavení ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Zápis náhodných čísel …"); for (int i = 0; i <EEsize; i ++) {zz = random (255); EEPROM.write (i, zz); } Serial.println (); pro (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("pozice EEPROM:"); Serial.print (a); Serial.print ("obsahuje"); Serial.println (zz); zpoždění (25); }}
Zobrazí se výstup ze sériového monitoru, jak je znázorněno na obrázku.
Tady to máte, další užitečný způsob ukládání dat s našimi systémy Arduino. Ačkoli to není nejzajímavější tutoriál, je to určitě užitečné.
Tento příspěvek vám přinesl web pmdway.com - vše pro výrobce a nadšence do elektroniky s doručením zdarma po celém světě.
Doporučuje:
Vestavěná skříňka: 4 kroky
Embedded Locker: V blažené auře je udržování věcí uvnitř něco, co je jako obrovské stříkání vzrušení. Název „Lock of Lock“je skutečně pohlcující součástí mých každodenních článků, které jsou díky své povaze všudypřítomné, ale co to dělá? Jednoduché
Získejte e -mailová upozornění z vašeho domácího zabezpečovacího systému pomocí Arduina: 3 kroky
Získejte e -mailová upozornění z vašeho domácího bezpečnostního systému pomocí Arduina: Pomocí Arduina jsme schopni snadno dovybavit základní funkce e -mailu prakticky do jakékoli stávající instalace zabezpečovacího systému. To je zvláště vhodné pro starší systémy, které byly pravděpodobně dlouho odpojeny od monitorovací služby
Stolní pinball s využitím technologie Evive- vestavěná forma založená na Arduinu: 18 kroků (s obrázky)
Stolní Pinball Machine využívající Evive- integrovaná platforma založená na Arduinu: Další víkend, další vzrušující hra! A tentokrát to není nikdo jiný než oblíbená arkádová hra všech - Pinball! Tento projekt vám ukáže, jak si snadno vyrobit svůj vlastní stroj Pinball doma. Vše, co budete potřebovat, jsou komponenty z evive
Průvodce uspáním vašeho Arduina: 5 kroků
Průvodce uspáním vašeho Arduina: Někdy jsme v situaci, která vyžaduje, abychom Arduino umístili na místo, kde není možné jej zapojit do elektrické sítě. To se stává často, když se pokoušíme protokolovat informace na vzdáleném webu, nebo jen potřebujeme mít aktivní Arduino v
Telnet do vašeho Arduina/AVR!: 4 kroky
Telnet do vašeho Arduina/AVR!: Druhý den jsem chtěl zkontrolovat jeden z mých AVR, ale byl jsem nahoře a bůh ví, že to bylo příliš mnoho potíží jít dolů, kde byl mikrokontrolér. Ale nahoře vedle mého líného zadku seděly dva nečinné počítače, takže