Kazalo:
- 1. korak: Kakšno vrsto podatkov je mogoče shraniti?
- 2. korak:
- 3. korak:
- 4. korak:
- 5. korak:
- 6. korak:
Video: Vgrajen EEPROM vašega Arduina: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
V tem članku bomo preučili notranji EEPROM na naših ploščah Arduino. Kaj morda govorijo EEPROM nekateri od vas? EEPROM je električno izbrisljiv programirljiv pomnilnik samo za branje.
To je oblika nehlapnega spomina, ki si lahko zapomni stvari z izklopljenim napajanjem ali po ponastavitvi Arduina. Lepota tovrstnega pomnilnika je v tem, da lahko trajno hranimo podatke, ustvarjene v skici.
Zakaj bi uporabili notranji EEPROM? V primerih, ko podatki, ki so edinstveni za določeno situacijo, potrebujejo stalnejši dom. Na primer shranjevanje edinstvene serijske številke in datuma izdelave komercialnega projekta, ki temelji na Arduinu-funkcija skice bi lahko prikazala serijsko številko na LCD-prikazovalniku ali pa bi podatke lahko prebrali z nalaganjem „skice storitve“. Ali pa boste morda morali prešteti določene dogodke in ne dovolite, da jih uporabnik ponastavi-na primer števec kilometrov ali števec ciklov delovanja.
1. korak: Kakšno vrsto podatkov je mogoče shraniti?
Vse, kar je lahko predstavljeno kot bajti podatkov. En bajt podatkov je sestavljen iz osmih bitov podatkov. Bit je lahko vklopljen (vrednost 1) ali izklopljen (vrednost 0) in je kot nalašč za predstavitev števil v binarni obliki. Z drugimi besedami, binarno število lahko za prikaz vrednosti uporablja samo ničle in enote. Tako je binarno ime znano tudi kot "base-2", saj lahko uporablja samo dve števki.
Kako lahko binarno število samo z dvema števkama predstavlja večje število? Uporablja veliko enot in nič. Preglejmo binarno število, recimo 10101010. Ker je to osnovno število 2, vsaka številka predstavlja 2 do moči x, od x = 0 naprej.
2. korak:
Oglejte si, kako lahko vsaka številka binarnega števila predstavlja osnovno številko 10. Torej zgornje binarno število predstavlja 85 v bazi-10-vrednost 85 je vsota vrednosti baze-10. Drug primer - 11111111 v binarnem sistemu je 255 v bazi 10.
3. korak:
Zdaj vsaka številka v tem binarnem številu porabi en 'bit' pomnilnika, osem bitov pa naredi bajt. Zaradi notranjih omejitev mikrokrmilnikov na naših ploščah Arduino lahko v EEPROM shranimo samo 8-bitna števila (en bajt).
To omejuje decimalno vrednost števila med nič in 255. Nato se morate odločiti, kako bodo lahko vaši podatki predstavljeni s tem obsegom številk. Naj vas to ne odvrne - pravilno razporejene številke lahko predstavljajo skoraj vse! Upoštevati je treba eno omejitev - kolikokrat lahko beremo ali pišemo v EEPROM. Po navedbah proizvajalca Atmel je EEPROM primeren za 100.000 ciklov branja/pisanja (glejte podatkovni list).
4. korak:
Zdaj vemo naše bite in in bajte, koliko bajtov je mogoče shraniti v mikrokrmilnik našega Arduina? Odgovor se razlikuje glede na model mikrokrmilnika. Na primer:
- Plošče z Atmel ATmega328, kot so Arduino Uno, Uno SMD, Nano, Lilypad itd. - 1024 bajtov (1 kilobajt)
- Plošče z Atmel ATmega1280 ali 2560, na primer serija Arduino Mega - 4096 bajtov (4 kilobajta)
- Plošče z Atmel ATmega168, na primer izvirni Arduino Lilypad, stari Nano, Diecimila itd. - 512 bajtov.
Če niste prepričani, si oglejte indeks strojne opreme Arduino ali vprašajte svojega dobavitelja plošč. Če potrebujete več prostora za shranjevanje EEPROM, kot je na voljo z vašim mikrokrmilnikom, razmislite o uporabi zunanjega I2C EEPROM.
Na tej točki zdaj razumemo, kakšne podatke in koliko jih je mogoče shraniti v EEPROM -ju našega Arduina. Zdaj je čas, da to uresničimo. Kot smo že omenili, je prostor za naše podatke omejen. V naslednjih primerih bomo uporabili tipično ploščo Arduino z ATmega328 z 1024 bajti prostora za shranjevanje EEPROM.
5. korak:
Za uporabo EEPROM -a je potrebna knjižnica, zato v skicah uporabite naslednjo knjižnico:
#include "EEPROM.h"
Ostalo je zelo preprosto. Za shranjevanje podatkov uporabljamo naslednjo funkcijo:
EEPROM.write (a, b);
Parameter a je položaj v EEPROM -u za shranjevanje celega števila (0 ~ 255) podatkov b. V tem primeru imamo 1024 bajtov pomnilnika, zato je vrednost a med 0 in 1023. Če želite pridobiti del podatkov, je tako preprosto, uporabite:
z = EEPROM.preberite (a);
Kjer je z celo število za shranjevanje podatkov iz položaja EEPROM a. Zdaj pa si oglejte primer.
6. korak:
Ta skica bo ustvarila naključne številke med 0 in 255, jih shranila v EEPROM, nato jih priklicala in prikazala na serijskem monitorju. Spremenljivka EEsize je zgornja meja velikosti vašega EEPROM -a, zato bi (na primer) to bilo 1024 za Arduino Uno ali 4096 za Mega.
// Arduino interna predstavitev EEPROM -a
#vključi
int zz; int EEsize = 1024; // velikost v bajtih EEPROM -a vaše plošče
void setup ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Pisanje naključnih števil …"); for (int i = 0; i <EEsize; i ++) {zz = naključno (255); EEPROM.write (i, zz); } Serial.println (); for (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("Položaj EEPROM:"); Serial.print (a); Serial.print ("vsebuje"); Serial.println (zz); zamuda (25); }}
Prikazal se bo izhod iz serijskega monitorja, kot je prikazano na sliki.
Torej, tukaj je še en uporaben način shranjevanja podatkov v naših sistemih Arduino. Čeprav ni najbolj vznemirljiva vadnica, je vsekakor uporabna.
To objavo vam je predstavil pmdway.com - vse za ustvarjalce in navdušence nad elektroniko z brezplačno dostavo po vsem svetu.
Priporočena:
Vgrajen upravitelj oken: 10 korakov
Vgrajeni upravitelj oken: Ta projekt prikazuje, kako implementirati upravitelja oken s premičnimi prekrivajočimi se okni na vgrajenem mikrokrmilniku z LCD-zaslonom in zaslonom na dotik. Za to obstajajo komercialno dostopni programski paketi, vendar stanejo denarja in so blizu
Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)
Kako narediti svoj lasten prehod WIFI, da povežete svoj Arduino z IP omrežjem?: Kot mnogi ljudje menite, da je Arduino zelo dobra rešitev za domačo avtomatizacijo in robotizacijo! Toda v smislu komunikacije Arduinos ima samo serijske povezave. Delam na robotu, ki ga je treba trajno povezati s strežnikom, ki deluje
3 -kanalni zvočni mešalnik, vgrajen v FM radijski oddajnik: 19 korakov (s slikami)
3 -kanalni zvočni mešalnik, vgrajen v FM radijski oddajnik: Pozdravljeni, v tem članku vas bom vodil, da sestavite svoj 3 -kanalni zvočni mešalnik, vgrajen v FM radijski oddajnik
Upravljanje vašega Arduina s HTML/Javascript na enostaven način: 8 korakov
Upravljanje vašega Arduina s HTML/Javascript na enostaven način: Ta vadnica vam pokaže, kako upravljati arduino s povratnim klicem ajax iz adafruit Huzze z uporabo samo funkcij javascript. V bistvu lahko na strani html uporabite javascript, ki vam omogoča preprosto pisanje vmesnikov html s preprostim j
Vodnik za uspavanje vašega Arduina: 5 korakov
Vodnik za uspavanje vašega Arduina: Včasih smo v situaciji, ki od nas zahteva, da Arduino postavimo na mesto, kjer priključitev na električno omrežje ni možnost. To se pogosto zgodi, ko poskušamo zapisati podatke na oddaljenem spletnem mestu ali pa moramo imeti vaš Arduino aktiven le na