
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

В тази статия ще разгледаме вътрешния EEPROM в нашите дъски Arduino. Какво е EEPROM, който някои от вас може да казват? EEPROM е електрически изтриваема програмируема памет само за четене.
Това е форма на енергонезависима памет, която може да запомни неща с изключено захранване или след нулиране на Arduino. Красотата на този вид памет е, че можем да съхраняваме данни, генерирани в скица, на по -постоянна основа.
Защо бихте използвали вътрешния EEPROM? За ситуации, при които данни, които са уникални за дадена ситуация, се нуждаят от по -постоянен дом. Например, съхраняване на уникален сериен номер и дата на производство на търговски проект, базиран на Arduino-функция на скицата може да покаже серийния номер на LCD или данните могат да бъдат прочетени чрез качване на „скица на услугата“. Или може да се наложи да преброите определени събития и да не позволите на потребителя да ги нулира-като одометър или брояч на операционни цикли.
Стъпка 1: Какъв вид данни могат да се съхраняват?

Всичко, което може да бъде представено като байтове от данни. Един байт данни се състои от осем бита данни. Битът може да бъде или включен (стойност 1) или изключен (стойност 0) и е идеален за представяне на числа в двоична форма. С други думи, двоичното число може да използва само нули и единици за представяне на стойност. По този начин двоичният е известен също като „base-2 ″, тъй като може да използва само две цифри.
Как бинарно число само с използването на две цифри може да представлява по -голямо число? Използва много единици и нули. Нека разгледаме двоично число, да речем 10101010. Тъй като това е число на база 2, всяка цифра представлява 2 до степента на x, от x = 0 нататък.
Стъпка 2:

Вижте как всяка цифра от двоичното число може да представлява число на база 10. Така че двоичното число по-горе представлява 85 в база-10-стойността 85 е сумата от стойностите база-10. Друг пример - 11111111 в двоичен код е равен на 255 в база 10.
Стъпка 3:
Сега всяка цифра в това двоично число използва един „бит“памет, а осем бита правят байт. Поради вътрешни ограничения на микроконтролерите в нашите дъски Arduino, можем да съхраняваме само 8-битови числа (един байт) в EEPROM.
Това ограничава десетичната стойност на числото да попадне между нула и 255. След това от вас зависи да решите как вашите данни могат да бъдат представени с този диапазон от числа. Не позволявайте това да ви отлага - числата, подредени по правилния начин, могат да представляват почти всичко! Има едно ограничение, на което трябва да се обърне внимание - колко пъти можем да четем или пишем в EEPROM. Според производителя Atmel, EEPROM е добър за 100 000 цикъла четене/запис (вижте информационния лист).
Стъпка 4:
Сега знаем нашите битове и и байтове, колко байта могат да се съхраняват в микроконтролера на нашия Arduino? Отговорът варира в зависимост от модела на микроконтролера. Например:
- Табла с Atmel ATmega328, като Arduino Uno, Uno SMD, Nano, Lilypad и др. - 1024 байта (1 килобайт)
- Табла с Atmel ATmega1280 или 2560, като серията Arduino Mega - 4096 байта (4 килобайта)
- Табла с Atmel ATmega168, като оригиналния Arduino Lilypad, стар Nano, Diecimila и т.н. - 512 байта.
Ако не сте сигурни, погледнете хардуерния индекс на Arduino или попитайте вашия доставчик на платка. Ако имате нужда от повече съхранение на EEPROM от това, което е налично с вашия микроконтролер, помислете за използването на външен I2C EEPROM.
На този етап вече разбираме какъв вид данни и колко могат да се съхраняват в EEPROM на нашия Arduino. Сега е време да приложим това в действие. Както бе обсъдено по -рано, има ограничено пространство за нашите данни. В следващите примери ще използваме типична платка Arduino с ATmega328 с 1024 байта EEPROM памет.
Стъпка 5:
За да използвате EEPROM, е необходима библиотека, затова използвайте следната библиотека в скиците си:
#include "EEPROM.h"
Останалото е много просто. За да съхраняваме част от данните, използваме следната функция:
EEPROM.write (a, b);
Параметърът a е позицията в EEPROM за съхраняване на цяло число (0 ~ 255) на данни b. В този пример имаме 1024 байта памет за съхранение, така че стойността на a е между 0 и 1023. За да извлечете част от данните е също толкова просто, използвайте:
z = EEPROM.прочетете (а);
Където z е цяло число за съхраняване на данните от позицията на EEPROM a. Сега да видим пример.
Стъпка 6:

Тази скица ще създаде произволни числа между 0 и 255, ще ги съхранява в EEPROM, след това ще ги извлича и показва на серийния монитор. Променливата EEsize е горната граница на вашия EEPROM размер, така че (например) това би било 1024 за Arduino Uno или 4096 за Mega.
// Вътрешна демонстрация на EEPROM на Arduino
#включва
int zz; int EEsize = 1024; // размер в байтове на EEPROM на вашата дъска
void setup ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Записване на случайни числа …"); for (int i = 0; i <EEsize; i ++) {zz = случаен (255); EEPROM.write (i, zz); } Serial.println (); for (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("позиция на EEPROM:"); Serial.print (a); Serial.print ("съдържа"); Serial.println (zz); забавяне (25); }}
Изходът от серийния монитор ще се появи, както е показано на изображението.
Ето го, още един полезен начин за съхранение на данни с нашите системи Arduino. Въпреки че не е най -вълнуващият урок, той със сигурност е полезен.
Тази публикация ви е предоставена от pmdway.com - всичко за производители и любители на електрониката, с безплатна доставка по целия свят.
Препоръчано:
Как да смените вашия твърд диск на вашия лаптоп Asus: 4 стъпки

Как да смените вашия твърд диск на вашия лаптоп Asus: Били ли сте някога вашият твърд диск да спре да работи или да му свърши място на твърдия диск? Имам решение за вас. Ще ви покажа как да смените твърдия диск на вашия лаптоп Asus
Контролни светлини във вашия дом с вашия компютър: 3 стъпки (със снимки)

Контролирайте светлините във вашия дом с вашия компютър: Искали ли сте някога да управлявате осветлението в дома си от вашия компютър? Всъщност е доста достъпно да го направите. Можете дори да управлявате спринклерни системи, автоматични щори за прозорци, моторизирани прожекционни екрани и т.н. Имате нужда от две парчета хардуер
Използвайте вашия Mac OSX като безжичен адаптер за вашия XBOX 360: 6 стъпки

Използвайте вашия Mac OSX като безжичен адаптер за вашия XBOX 360: Видях друго ръководство за това как да направите това тук, но беше ужасно погрешно и оставих толкова много неща, затова реших да направя свой собствен
Как да превърнете вашия мобилен телефон LG EnV 2 в преносим модем за комутируема връзка за вашия лаптоп (или настолен компютър): 7 стъпки

Как да превърнете вашия мобилен телефон LG EnV 2 в преносим модем за комутируема връзка за вашия лаптоп (или настолен компютър): Всички в един момент сме имали нужда да използваме интернет там, където просто не е било възможно, например в колата или на почивка, където те таксуват скъпа сума пари на час, за да използват своя wifi. накрая измислих прост начин да получа
Използвайте връзката за данни на вашия iPhone на вашия компютър: 6 стъпки

Използвайте връзката за данни на вашия iPhone на вашия компютър: ЗАБЕЛЕЖКА: От iOS 3 и 4 има други начини за свързване, дори законно чрез AT & T (въпреки че това струва допълнително). Този метод все още работи и винаги ще (независимо от актуализациите на iOS), стига да можете да SSH във вашия iPhone. Имайте