
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01

Dalam artikel ini kita akan memeriksa EEPROM dalaman di papan Arduino kami. Apa itu EEPROM yang mungkin sebahagian daripada anda katakan? EEPROM adalah Memori Baca-Baca Sahaja yang Boleh Diprogramkan secara Elektrik.
Ini adalah bentuk memori yang tidak mudah menguap yang dapat mengingat sesuatu dengan daya dimatikan, atau setelah menetapkan semula Arduino. Keindahan memori semacam ini adalah kita dapat menyimpan data yang dihasilkan dalam lakaran secara lebih kekal.
Mengapa anda menggunakan EEPROM dalaman? Untuk situasi di mana data yang unik untuk situasi memerlukan rumah yang lebih kekal. Contohnya, menyimpan nombor siri unik dan tarikh pembuatan projek berasaskan Arduino komersial - fungsi lakaran dapat memaparkan nombor siri pada LCD, atau data dapat dibaca dengan memuat naik 'sketsa perkhidmatan'. Atau anda mungkin perlu mengira peristiwa tertentu dan tidak membenarkan pengguna menetapkannya semula - seperti odometer atau kaunter kitaran operasi.
Langkah 1: Jenis Data Apa Yang Boleh Disimpan?

Apa sahaja yang boleh ditunjukkan sebagai bait data. Satu bait data terdiri daripada lapan bit data. Sedikit boleh dihidupkan (nilai 1) atau mati (nilai 0), dan sesuai untuk mewakili nombor dalam bentuk binari. Dengan kata lain, nombor perduaan hanya boleh menggunakan nol dan angka untuk mewakili nilai. Oleh itu, binari juga dikenali sebagai “base-2 ″, kerana hanya boleh menggunakan dua digit.
Bagaimanakah nombor perduaan dengan hanya menggunakan dua digit mewakili nombor yang lebih besar? Ia menggunakan banyak angka dan sifar. Mari kita periksa nombor binari, katakan 10101010. Oleh kerana ini adalah nombor asas-2, setiap digit mewakili 2 hingga kekuatan x, dari x = 0 dan seterusnya.
Langkah 2:

Lihat bagaimana setiap digit nombor perduaan dapat mewakili nombor asas-10. Jadi nombor perduaan di atas mewakili 85 dalam asas-10 - nilai 85 adalah jumlah nilai asas-10. Contoh lain - 11111111 dalam binari sama dengan 255 di pangkalan 10.
Langkah 3:
Sekarang setiap digit dalam nombor binari itu menggunakan satu memori 'bit', dan lapan bit menghasilkan bait. Oleh kerana keterbatasan dalaman mikrokontroler di papan Arduino kami, kami hanya dapat menyimpan nombor 8-bit (satu bait) di EEPROM.
Ini mengehadkan nilai perpuluhan nombor untuk berada di antara sifar dan 255. Maka terserah kepada anda untuk menentukan bagaimana data anda dapat ditunjukkan dengan julat nombor tersebut. Jangan biarkan hal itu membuat anda kecewa - angka yang disusun dengan cara yang betul dapat mewakili hampir semua perkara! Terdapat satu batasan yang perlu diberi perhatian - berapa kali kita dapat membaca atau menulis kepada EEPROM. Menurut pengeluar Atmel, EEPROM baik untuk 100, 000 kitaran membaca / menulis (lihat lembaran data).
Langkah 4:
Sekarang kita tahu bit dan bait kita, berapa banyak bait yang boleh disimpan di mikrokontroler Arduino kita? Jawapannya berbeza-beza bergantung pada model mikrokontroler. Sebagai contoh:
- Papan dengan Atmel ATmega328, seperti Arduino Uno, Uno SMD, Nano, Lilypad, dll. - 1024 bait (1 kilobyte)
- Papan dengan Atmel ATmega1280 atau 2560, seperti siri Arduino Mega - 4096 byte (4 kilobyte)
- Papan dengan Atmel ATmega168, seperti Arduino Lilypad yang asli, Nano lama, Diecimila dll - 512 bait.
Sekiranya anda tidak pasti, lihat indeks perkakasan Arduino atau tanya pembekal papan anda. Sekiranya anda memerlukan lebih banyak simpanan EEPROM daripada yang tersedia dengan mikrokontroler anda, pertimbangkan untuk menggunakan EEPROM I2C luaran.
Pada ketika ini kita sudah memahami jenis data dan berapa banyak yang boleh disimpan di EEPROM Arduino kami. Kini tiba masanya untuk melaksanakannya. Seperti yang telah dibincangkan sebelumnya, terdapat banyak ruang untuk data kami. Dalam contoh berikut, kami akan menggunakan papan Arduino khas dengan ATmega328 dengan 1024 bait penyimpanan EEPROM.
Langkah 5:
Untuk menggunakan EEPROM, perpustakaan diperlukan, jadi gunakan perpustakaan berikut dalam lakaran anda:
#sertakan "EEPROM.h"
Selebihnya sangat sederhana. Untuk menyimpan sekeping data, kami menggunakan fungsi berikut:
EEPROM.write (a, b);
Parameter a adalah kedudukan di EEPROM untuk menyimpan bilangan bulat (0 ~ 255) data b. Dalam contoh ini, kita mempunyai 1024 byte penyimpanan memori, jadi nilai a adalah antara 0 dan 1023. Untuk mendapatkan sekeping data sama mudahnya, gunakan:
z = EEPROM.read (a);
Di mana z adalah integer untuk menyimpan data dari kedudukan EEPROM a. Sekarang untuk melihat contoh.
Langkah 6:

Lakaran ini akan membuat nombor rawak antara 0 dan 255, menyimpannya di EEPROM, kemudian mengambil dan memaparkannya di monitor bersiri. Pemboleh ubah EEsize adalah had atas ukuran EEPROM anda, jadi (sebagai contoh) ini adalah 1024 untuk Arduino Uno, atau 4096 untuk Mega.
// Demonstrasi EEPROM dalaman Arduino
#sertakan
int zz; int EEsize = 1024; // ukuran dalam bait EEPROM dewan anda
persediaan tidak sah ()
{Serial.begin (9600); randomSeed (analogRead (0)); } gelung void () {Serial.println ("Menulis nombor rawak …"); untuk (int i = 0; i <EEsize; i ++) {zz = rawak (255); EEPROM.write (i, zz); } Bersiri.println (); untuk (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("Kedudukan EEPROM:"); Cetakan bersiri (a); Serial.print ("mengandung"); Serial.println (zz); kelewatan (25); }}
Keluaran dari monitor bersiri akan muncul, seperti yang ditunjukkan dalam gambar.
Oleh itu, ada cara lain untuk menyimpan data dengan sistem Arduino kami. Walaupun bukan tutorial yang paling menarik, ia pasti berguna.
Catatan ini disampaikan kepada anda oleh pmdway.com - semuanya untuk pembuat dan peminat elektronik, dengan penghantaran percuma ke seluruh dunia.
Disyorkan:
Pemegang gambar dengan pembesar suara terbina dalam: 7 Langkah (dengan gambar)

Pemegang Gambar Dengan Pembesar Suara Built-In: Berikut adalah projek yang hebat untuk dilaksanakan pada hujung minggu, jika anda ingin menjadikan anda pembesar suara yang boleh menyimpan gambar / kad pos atau bahkan senarai tugas anda. Sebagai sebahagian daripada pembangunan, kami akan menggunakan Raspberry Pi Zero W sebagai nadi projek, dan
Bawa WiFi Rumah Anda Bersama Anda di dalam Kereta: 5 Langkah

Bawa WiFi Rumah Anda Bersama Anda di dalam Kereta: Walaupun kami suka atau tidak, kami berada dalam kedudukan di mana kami duduk di dalam kereta selama berjam-jam dalam perjalanan yang panjang. Untuk meluangkan masa, anda mengeluarkan telefon bimbit kami tetapi lambat laun anda mendapat pesanan bodoh dari syarikat mudah alih yang mengatakan bahawa anda kehabisan data
WiFi Jammer Dengan Powerbank terbina dalam: 12 Langkah

WiFi Jammer With Inbuilt Powerbank: Hello Friend, Dalam video ini saya akan memberitahu anda Bagaimana anda boleh membuat jammer WiFi mudah alih dengan power bank terbina dalam. Yang boleh digunakan untuk mengecas telefon bimbit anda dan menghidupkan jammer WiFi anda.:: Peringatan:: menyekat rangkaian WiFi seseorang. Saya lakukan
Cara Mendapatkan Muzik Dari Laman Web HANYA (Haha) (Selagi Anda Boleh Mendengarnya, Anda Boleh Mendapatkannya Ok Baiklah Jika Ia Dimasukkan dalam Kilat Anda Mungkin Tidak Mampu) DI

Cara Mendapatkan Muzik Dari Laman Web HANYA (Haha) (Selagi Anda Boleh Mendengarnya, Anda Boleh Mendapatkannya … Ok Baiklah Jika Ia Dimasukkan dalam Kilat Anda Mungkin Tidak Mampu) DIEDIT !!!!! Maklumat Tambahan: jika anda pernah pergi ke laman web dan memainkan lagu yang anda suka dan mahukannya, inilah petunjuk untuk tidak salah saya sekiranya anda mengacaukan sesuatu (satu-satunya cara ia akan berlaku adalah jika anda mula menghapus barang tanpa sebab ) Saya dapat mendapatkan muzik untuk
Guitar Hero Guitar Dengan Pembesar suara terbina dalam: 8 Langkah

Guitar Hero Guitar Dengan Speaker Built-In: Pada dasarnya, saya membuka alat kawalan Guitar Hero dan bertanya-tanya apa yang saya boleh muat di dalamnya. Rasanya ringan jadi saya rasa ada banyak ruang. Sudah tentu, ada banyak. Pada asalnya saya merancang untuk meletakkan iPod Shuffle di leher gitar dan