
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Šajā rakstā mēs pārbaudīsim iekšējo EEPROM mūsu Arduino dēļos. Kas ir EEPROM, ko daži no jums varētu teikt? EEPROM ir elektriski dzēšama programmējama tikai lasāma atmiņa.
Tā ir nepastāvīgas atmiņas forma, kas spēj atcerēties lietas, izslēdzot strāvu vai pēc Arduino atiestatīšanas. Šāda veida atmiņas skaistums ir tāds, ka mēs varam pastāvīgi saglabāt skicē iegūtos datus.
Kāpēc izmantot iekšējo EEPROM? Situācijām, kad situācijai raksturīgiem datiem ir nepieciešama pastāvīgāka māja. Piemēram, saglabājot komerciāla, uz Arduino balstīta projekta unikālo sērijas numuru un izgatavošanas datumu-skices funkcija var parādīt sērijas numuru LCD ekrānā, vai arī datus var nolasīt, augšupielādējot “pakalpojuma skici”. Vai arī jums, iespējams, vajadzēs saskaitīt noteiktus notikumus un neļaut lietotājam tos atiestatīt, piemēram, odometru vai darbības ciklu skaitītāju.
1. darbība: kāda veida datus var saglabāt?

Viss, ko var attēlot kā datu baitus. Vienu datu baitu veido astoņi datu biti. Bits var būt ieslēgts (vērtība 1) vai izslēgts (vērtība 0), un tas ir lieliski piemērots skaitļu attēlošanai binārā formā. Citiem vārdiem sakot, binārais skaitlis vērtības attēlošanai var izmantot tikai nulles un vienus. Tādējādi bināro sauc arī par “bāzi-2”, jo tajā var izmantot tikai divus ciparus.
Kā binārais skaitlis, kurā izmantoti tikai divi cipari, var attēlot lielāku skaitli? Tas izmanto daudz vienību un nulles. Pārbaudīsim bināro skaitli, teiksim 10101010. Tā kā šis ir bāzes 2 skaitlis, katrs cipars apzīmē 2 līdz x pakāpei, sākot no x = 0.
2. darbība:

Skatiet, kā katrs binārā skaitļa cipars var attēlot 10 bāzes skaitli. Tātad iepriekš minētais binārais skaitlis ir 85 bāzē 10-vērtība 85 ir bāzes 10 vērtību summa. Vēl viens piemērs - 11111111 binārā ir vienāds ar 255 10. bāzē.
3. darbība:
Tagad katrs šī binārā skaitļa cipars izmanto vienu atmiņas “bitu”, un astoņi biti veido baitu. Sakarā ar mūsu Arduino plates mikrokontrolleru iekšējiem ierobežojumiem, mēs varam EEPROM saglabāt tikai 8 bitu numurus (vienu baitu).
Tas ierobežo skaitļa decimāldaļas vērtību no nulles līdz 255. Tad jums ir jāizlemj, kā jūsu datus var attēlot ar šo skaitļu diapazonu. Neļaujiet tam sevi atbaidīt - pareizi sakārtoti skaitļi var attēlot gandrīz jebko! Ir jāņem vērā viens ierobežojums - cik reizes mēs varam lasīt vai rakstīt EEPROM. Saskaņā ar ražotāja Atmel teikto, EEPROM ir piemērots 100 000 lasīšanas/rakstīšanas cikliem (skatīt datu lapu).
4. solis:
Tagad mēs zinām savus bitus un baitus, cik baitus var uzglabāt mūsu Arduino mikrokontrollerī? Atbilde atšķiras atkarībā no mikrokontrollera modeļa. Piemēram:
- Dēļi ar Atmel ATmega328, piemēram, Arduino Uno, Uno SMD, Nano, Lilypad uc - 1024 baiti (1 kilobaits)
- Dēļi ar Atmel ATmega1280 vai 2560, piemēram, Arduino Mega sērija - 4096 baiti (4 kilobaiti)
- Dēļi ar Atmel ATmega168, piemēram, oriģinālais Arduino Lilypad, vecais Nano, Diecimila utt. - 512 baiti.
Ja neesat pārliecināts, apskatiet Arduino aparatūras indeksu vai jautājiet savam dēļa piegādātājam. Ja jums ir nepieciešams vairāk EEPROM krātuves, nekā tas ir pieejams ar jūsu mikrokontrolleru, apsveriet iespēju izmantot ārēju I2C EEPROM.
Šajā brīdī mēs tagad saprotam, kāda veida datus un cik daudz var uzglabāt mūsu Arduino EEPROM. Tagad ir pienācis laiks to īstenot. Kā minēts iepriekš, mūsu datiem ir ierobežots daudzums vietas. Turpmākajos piemēros mēs izmantosim tipisku Arduino plati ar ATmega328 ar 1024 baitiem EEPROM krātuves.
5. darbība:
Lai izmantotu EEPROM, ir nepieciešama bibliotēka, tāpēc skicēs izmantojiet šādu bibliotēku:
#include "EEPROM.h"
Pārējais ir ļoti vienkāršs. Lai saglabātu datus, mēs izmantojam šādu funkciju:
EEPROM.write (a, b);
Parametrs a ir pozīcija EEPROM, lai saglabātu datu b veselu skaitli (0 ~ 255). Šajā piemērā mums ir 1024 baiti atmiņas krātuves, tāpēc a vērtība ir no 0 līdz 1023. Lai izgūtu kādu datu gabalu, ir tikpat vienkārša, izmantojiet:
z = EEPROM.lasījums (a);
Kur z ir vesels skaitlis, lai saglabātu datus no EEPROM pozīcijas a. Tagad, lai redzētu piemēru.
6. darbība

Šī skice izveidos nejaušus skaitļus no 0 līdz 255, saglabās tos EEPROM, pēc tam izgūs un parādīs tos sērijas monitorā. Mainīgais EE izmērs ir jūsu EEPROM lieluma augšējā robeža, tāpēc (piemēram) tas būtu 1024 Arduino Uno vai 4096 Mega.
// Arduino iekšējā EEPROM demonstrācija
#iekļaut
int zz; int EEizmērs = 1024; // jūsu paneļa EEPROM lielums baitos
anulēts iestatījums ()
{Sērijas sākums (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Nejaušu skaitļu rakstīšana …"); par (int i = 0; i <EEsize; i ++) {zz = nejauši (255); EEPROM.write (i, zz); } Sērijas.println (); for (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("EEPROM pozīcija:"); Sērijas nospiedums (a); Serial.print ("satur"); Sērijas.println (zz); kavēšanās (25); }}
Parādīsies seriālā monitora izeja, kā parādīts attēlā.
Tātad jums tas ir vēl viens noderīgs veids, kā saglabāt datus ar mūsu Arduino sistēmām. Lai gan tā nav aizraujošākā apmācība, tā noteikti ir noderīga.
Šo ziņu jums sniedza pmdway.com - viss veidotājiem un elektronikas entuziastiem ar bezmaksas piegādi visā pasaulē.
Ieteicams:
Iebūvētais logu pārvaldnieks: 10 soļi

Iebūvētais logu pārvaldnieks: Šis projekts parāda, kā iebūvētajā mikrokontrollerī ar LCD paneli un skārienekrānu ieviest logu pārvaldnieku ar pārvietojamiem logiem, kas pārklājas. Lai to izdarītu, ir pieejamas komerciāli pieejamas programmatūras paketes, taču tās maksā naudu un ir tuvu
Top 5 Arduino robotu automašīnas, kas sagraus jūsu prātu: 11 soļi

Top 5 Arduino robotu automašīnas, kas sagraus jūsu prātu: Sveiki draugi, šajā apmācībā mēs redzēsim 2020. gada 5 labāko viedo robotu automašīnu ar pilnām darbībām, kodu un shēmu. Augšējā video varat redzēt visu šo robotu darbību. Šajos projektos jūs sazināties ar: " Izvairieties no galda malas
Iebūvētais skapītis: 4 soļi

Iebūvēts skapītis: Svētlaimīgā aurā lietu glabāšana iekšpusē ir kaut kas līdzīgs milzīgam satraukumam. Nosaukums “Lock of Lock” patiešām ir iesaiste manos ikdienas rakstos, kas sava rakstura dēļ ir visuresošs, bet ko tas dara? Vienkārši
Jūsu viedā automašīna un ārpus HyperDuino+R V3.5R ar Funduino/Arduino: 4 soļi

Jūsu viedais auto un ārpus HyperDuino+R V3.5R ar Funduino/Arduino: šī ir tieša kopija no šī instrukciju komplekta ŠEIT. Lai iegūtu vairāk informācijas, dodieties uz vietni HyperDuino.com. Ar HyperDuino+R v4.0R jūs varat sākt izpētes ceļu dažādos virzienos, sākot no motoru vadības līdz elektronikas izpētei
Mobilā tālruņa akumulatora atkārtota izmantošana jūsu Arduino projektam: 3 soļi

Mobilā tālruņa akumulatora atkārtota izmantošana jūsu Arduino projektam: Šādi es pārstrādāju veco mobilā tālruņa akumulatoru, lai darbinātu arduino projektu. Šis daļiņu tips ir 2000 mAh nokia BLY4W. Tomēr izmantotās metodes ir izplatītas lielākajā daļā tālruņu akumulatoru. Šis akumulators pēkšņi nomira, parādot 0 v