Სარჩევი:
- ნაბიჯი 1: რა სახის მონაცემთა შენახვაა შესაძლებელი?
- ნაბიჯი 2:
- ნაბიჯი 3:
- ნაბიჯი 4:
- ნაბიჯი 5:
- ნაბიჯი 6:
ვიდეო: თქვენი Arduino– ს ჩაშენებული EEPROM: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ სტატიაში ჩვენ ვაპირებთ შეისწავლოს შიდა EEPROM ჩვენს Arduino დაფებში. რას ნიშნავს ზოგიერთი თქვენგანი EEPROM? EEPROM არის ელექტრონულად წაშლადი პროგრამირებადი მხოლოდ წაკითხული მეხსიერება.
ეს არის არასტაბილური მეხსიერების ფორმა, რომელსაც შეუძლია დაიმახსოვროს საგნები გამორთული ენერგიით, ან არდუინოს გადატვირთვის შემდეგ. ამგვარი მეხსიერების სილამაზე იმაში მდგომარეობს, რომ ჩვენ შეგვიძლია შევინახოთ ესკიზში გენერირებული მონაცემები უფრო მუდმივ საფუძველზე.
რატომ გამოიყენებ შიდა EEPROM- ს? იმ სიტუაციებისთვის, როდესაც მონაცემებს, რომლებიც უნიკალურია სიტუაციისთვის, სჭირდება უფრო მუდმივი სახლი. მაგალითად, Arduino– ზე დაფუძნებული კომერციული პროექტის უნიკალური სერიული ნომრის და წარმოების თარიღის შენახვა-ესკიზის ფუნქციას შეუძლია სერიული ნომრის ჩვენება LCD– ზე, ან მონაცემების წაკითხვა „სერვისის ესკიზის“ატვირთვით. ან შეიძლება დაგჭირდეთ გარკვეული მოვლენების დათვლა და არ დაუშვათ მომხმარებელმა მათი გადატვირთვა-მაგალითად, ოდომეტრი ან სამუშაო ციკლის მრიცხველი.
ნაბიჯი 1: რა სახის მონაცემთა შენახვაა შესაძლებელი?
ყველაფერი, რაც შეიძლება წარმოდგენილი იყოს როგორც მონაცემთა ბაიტი. მონაცემთა ერთი ბაიტი შედგება რვა ბიტიანი მონაცემისაგან. ბიტი შეიძლება იყოს ჩართული (მნიშვნელობა 1) ან გამორთული (მნიშვნელობა 0) და შესანიშნავია რიცხვების ორობითი ფორმით წარმოსადგენად. სხვა სიტყვებით რომ ვთქვათ, ბინარულ რიცხვს შეუძლია გამოიყენოს მხოლოდ ნულოვანი და ერთეული მნიშვნელობის გამოსახატავად. ამრიგად, ორობითი ასევე ცნობილია როგორც "ბაზა -2", რადგან მას შეუძლია გამოიყენოს მხოლოდ ორი ციფრი.
როგორ შეიძლება ორობითი რიცხვი მხოლოდ ორი ციფრის გამოყენებით იყოს უფრო დიდი რიცხვი? იგი იყენებს უამრავ ერთს და ნულს. განვიხილოთ ორობითი რიცხვი, ვთქვათ 10101010. ვინაიდან ეს არის ფუძე -2 რიცხვი, თითოეული ციფრი წარმოადგენს 2-ს x სიმძლავრისგან, x = 0-დან.
ნაბიჯი 2:
ნახეთ, თუ როგორ შეუძლია ორობითი რიცხვის თითოეულ ციფრს წარმოადგინოს ფუძე -10 რიცხვი. ამრიგად, ზემოთ მოყვანილი ორობითი რიცხვი წარმოადგენს 85-ს 10-ში-მნიშვნელობა 85 არის ფუძე -10 მნიშვნელობების ჯამი. კიდევ ერთი მაგალითი - 11111111 ორობაში უდრის 255 მეათე ფუძეს.
ნაბიჯი 3:
ამ ორობითი რიცხვის თითოეული ციფრი იყენებს მეხსიერების ერთ „ბიტს“და რვა ბიტი ქმნის ბაიტს. ჩვენს Arduino დაფებზე მიკროკონტროლერების შიდა შეზღუდვების გამო, ჩვენ შეგვიძლია მხოლოდ 8 ბიტიანი ნომრების (ერთი ბაიტი) შენახვა EEPROM– ში.
ეს ზღუდავს რიცხვის ათობითი მნიშვნელობას ნულამდე და 255 -ს შორის. ამის შემდეგ თქვენზეა დამოკიდებული, თუ როგორ შეიძლება თქვენი მონაცემების წარმოდგენა ამ რიცხვის დიაპაზონში. ნუ მოგაცილებთ ამას - სწორი გზით განლაგებული რიცხვები შეიძლება თითქმის არაფერს წარმოადგენდეს! არსებობს ერთი შეზღუდვა, რომელსაც უნდა გავუფრთხილდეთ - რამდენჯერ შეგვიძლია წავიკითხოთ ან დავწეროთ EEPROM– ზე. მწარმოებელი Atmel- ის თანახმად, EEPROM კარგია 100,000 წაკითხვის/წერის ციკლისთვის (იხ. მონაცემთა ფურცელი).
ნაბიჯი 4:
ახლა ჩვენ ვიცით ჩვენი ბიტი და ბაიტი, რამდენი ბაიტი შეიძლება იყოს შენახული ჩვენი არდუინოს მიკროკონტროლერში? პასუხი განსხვავდება მიკროკონტროლის მოდელის მიხედვით. Მაგალითად:
- დაფები Atmel ATmega328- ით, როგორიცაა Arduino Uno, Uno SMD, Nano, Lilypad და ა.შ. - 1024 ბაიტი (1 კილობიტი)
- დაფები Atmel ATmega1280 ან 2560, როგორიცაა Arduino Mega სერია - 4096 ბაიტი (4 კილობაიტი)
- დაფები Atmel ATmega168– ით, როგორიცაა ორიგინალური Arduino Lilypad, ძველი ნანო, დიეციმილა და სხვა - 512 ბაიტი.
თუ არ ხართ დარწმუნებული, გადახედეთ Arduino აპარატურის ინდექსს ან ჰკითხეთ თქვენი დაფის მიმწოდებელს. თუ გჭირდებათ მეტი EEPROM საცავი ვიდრე ის რაც თქვენს მიკროკონტროლერთან არის ხელმისაწვდომი, განიხილეთ გარე I2C EEPROM- ის გამოყენება.
ამ ეტაპზე ჩვენ ახლა გვესმის რა სახის მონაცემები და რამდენი შეიძლება იყოს შენახული ჩვენი Arduino– ს EEPROM– ში. ახლა დროა, ეს ამოქმედდეს. როგორც ზემოთ განვიხილეთ, ჩვენი მონაცემებისთვის არის შეზღუდული სივრცე. შემდეგ მაგალითებში ჩვენ გამოვიყენებთ ტიპიურ Arduino დაფას ATmega328– ით 1024 ბაიტი EEPROM საცავით.
ნაბიჯი 5:
EEPROM- ის გამოსაყენებლად საჭიროა ბიბლიოთეკა, ასე რომ გამოიყენეთ ეს ბიბლიოთეკა თქვენს ესკიზებში:
#მოიცავს "EEPROM.h"
დანარჩენი ძალიან მარტივია. მონაცემების შესანახად ჩვენ ვიყენებთ შემდეგ ფუნქციას:
EEPROM. დაწერეთ (a, b);
პარამეტრი a არის პოზიცია EEPROM– ში მონაცემთა მთელი რიცხვის (0 ~ 255) შესანახად b. ამ მაგალითში ჩვენ გვაქვს 1024 ბაიტი მეხსიერების საცავი, ამიტომ a- ს მნიშვნელობა 0 -დან 1023 -მდეა. მონაცემთა ნაწილის აღსადგენად თანაბრად მარტივია, გამოიყენეთ:
z = EEPROM.read (a);
სადაც z არის მთელი რიცხვი EEPROM პოზიციიდან მონაცემების შესანახად a. ახლა ვნახოთ მაგალითი.
ნაბიჯი 6:
ეს ესკიზი შექმნის შემთხვევით რიცხვებს 0 -დან 255 -მდე, შეინახავს მათ EEPROM- ში, შემდეგ მიიღებს და აჩვენებს სერიულ მონიტორზე. ცვლადი EEsize არის თქვენი EEPROM ზომის ზედა ზღვარი, ასე რომ (მაგალითად) ეს იქნება 1024 Arduino Uno– სთვის, ან 4096 მეგასთვის.
// Arduino შიდა EEPROM დემონსტრაცია
#ჩართეთ
int zz; int EEsize = 1024; // ზომა თქვენი დაფის EEPROM ბაიტებში
ბათილად დაყენება ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("შემთხვევითი რიცხვების წერა …"); for (int i = 0; i <EEsize; i ++) {zz = random (255); EEPROM.write (i, zz); } Serial.println (); for (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("EEPROM პოზიცია:"); სერიული. ბეჭდვა (ა); Serial.print ("შეიცავს"); Serial.println (zz); დაგვიანება (25); }}
სერიული მონიტორიდან გამომავალი გამოჩნდება, როგორც სურათზეა ნაჩვენები.
ასე რომ თქვენ გაქვთ ეს, კიდევ ერთი სასარგებლო გზა მონაცემების შესანახად ჩვენს არდუინოს სისტემებთან. მიუხედავად იმისა, რომ ეს არ არის ყველაზე საინტერესო სამეურვეო პროგრამა, ის ნამდვილად სასარგებლოა.
ეს პოსტი მოგიტანათ pmdway.com– ით - ყველაფერი მწარმოებლებისთვის და ელექტრონიკის მოყვარულთათვის, უფასო მიწოდებით მთელს მსოფლიოში.
გირჩევთ:
სურათის მფლობელი ჩაშენებული დინამიკით: 7 ნაბიჯი (სურათებით)
სურათის მფლობელი ჩამონტაჟებული სპიკერით: აქ არის დიდი პროექტი, რომელიც უნდა განახორციელოთ შაბათ-კვირას, თუ გსურთ გახადოთ საკუთარი დინამიკი, რომელსაც შეუძლია დაიჭიროს სურათები/საფოსტო ბარათები ან თუნდაც თქვენი სამუშაოების ჩამონათვალი. მშენებლობის ნაწილად ჩვენ ვაპირებთ გამოვიყენოთ Raspberry Pi Zero W, როგორც პროექტის გული და
ჩაშენებული ფანჯრის მენეჯერი: 10 ნაბიჯი
ჩამონტაჟებული ფანჯრის მენეჯერი: ეს პროექტი გვიჩვენებს, თუ როგორ განვახორციელოთ ფანჯრის მენეჯერი მოძრავი გადაფარებული ფანჯრებით ჩამონტაჟებულ მიკროკონტროლერზე LCD პანელით და სენსორული ეკრანით. არსებობს კომერციულად ხელმისაწვდომი პროგრამული პაკეტები ამის გასაკეთებლად, მაგრამ ღირს ფული და ახლოსაა
ჩაშენებული საკეტი .: 4 ნაბიჯი
ჩამონტაჟებული ლოკერი: ნეტარ აურაში, შინაგანი ნივთების შენახვა არის რაღაც, რაც მღელვარების უზარმაზარ გაფრქვევას ჰგავს. სახელი "ჩაკეტვის ჩაკეტვა" მართლაც ჩემი ყოველდღიური სტატიების განუყოფელი ნაწილია, რომელიც ყველგან არის გავრცელებული თავისი ბუნების გამო, მაგრამ რას აკეთებს ის? მარტივი
Arduino MEGA 2560 WiFi ჩაშენებული - ESP8266: 10 ნაბიჯი
Arduino MEGA 2560 WiFi ჩაშენებული - ESP8266: დღევანდელ ტექსტში ჩვენ განვიხილავთ არდუინოს, რომელიც მე განსაკუთრებულად მიმაჩნია, რადგან მას აქვს დაფა ჩასმული ESP8266. მას არ აქვს ESP12 დაფაზე დაფარული. სამაგიეროდ, მას აქვს ესპრესიფის ჩიპი. ასე რომ, დაფაზე თქვენ გაქვთ ჩაშენებული
სინდიკატური მონაცემები თქვენი ჩაშენებული მოწყობილობებიდან: 10 ნაბიჯი
სინდიკატური მონაცემები თქვენი ჩაშენებული მოწყობილობებიდან: ეს ინსტრუქცია გაჩვენებთ, თუ როგორ უნდა მიიღოთ მონაცემების გამომავალი USB ტემპერატურის მრიცხველიდან და გაავრცელოთ ის ინტერნეტში syndicit.com– ის გამოყენებით. მას შემდეგ, რაც თქვენი მონაცემები შეინახება syndicit.com– ში, შეგიძლიათ გაზიაროთ ის ინტერნეტში, როგორც ცხრილები, Google Earth– ის პირდაპირი არხები, RSS