Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Pada artikel ini kita akan memeriksa EEPROM internal di papan Arduino kita. Apa yang dimaksud dengan EEPROM beberapa dari Anda mungkin mengatakan? EEPROM adalah Memori Hanya Baca yang Dapat Diprogram Secara Elektrik yang Dapat Dihapus.
Ini adalah bentuk memori non-volatile yang dapat mengingat hal-hal dengan daya dimatikan, atau setelah mengatur ulang Arduino. Keindahan dari jenis memori ini adalah kita dapat menyimpan data yang dihasilkan dalam sketsa secara lebih permanen.
Mengapa Anda menggunakan EEPROM internal? Untuk situasi di mana data yang unik untuk suatu situasi membutuhkan rumah yang lebih permanen. Misalnya, menyimpan nomor seri unik dan tanggal pembuatan proyek komersial berbasis Arduino – fungsi sketsa dapat menampilkan nomor seri pada LCD, atau data dapat dibaca dengan mengunggah ‘sketsa layanan’. Atau Anda mungkin perlu menghitung kejadian tertentu dan tidak mengizinkan pengguna untuk mengatur ulang – seperti odometer atau penghitung siklus operasi.
Langkah 1: Jenis Data Apa yang Dapat Disimpan?
Apa pun yang dapat direpresentasikan sebagai byte data. Satu byte data terdiri dari delapan bit data. Sebuah bit dapat berupa on (nilai 1) atau off (nilai 0), dan sempurna untuk mewakili angka dalam bentuk biner. Dengan kata lain, bilangan biner hanya dapat menggunakan nol dan satu untuk mewakili suatu nilai. Jadi biner juga dikenal sebagai "basis-2", karena hanya dapat menggunakan dua digit.
Bagaimana bilangan biner dengan hanya menggunakan dua digit mewakili bilangan yang lebih besar? Ini menggunakan banyak satu dan nol. Mari kita periksa bilangan biner, katakanlah 10101010. Karena ini adalah bilangan basis-2, setiap digit mewakili 2 pangkat x, dari x=0 dan seterusnya.
Langkah 2:
Lihat bagaimana setiap digit bilangan biner dapat mewakili bilangan basis-10. Jadi bilangan biner di atas mewakili 85 di basis-10 – nilai 85 adalah jumlah dari nilai basis-10. Contoh lain – 11111111 dalam biner sama dengan 255 di basis 10.
Langkah 3:
Sekarang setiap digit dalam bilangan biner itu menggunakan satu 'bit' memori, dan delapan bit menghasilkan satu byte. Karena keterbatasan internal mikrokontroler di papan Arduino kami, kami hanya dapat menyimpan angka 8-bit (satu byte) di EEPROM.
Ini membatasi nilai desimal dari angka yang berada di antara nol dan 255. Selanjutnya terserah Anda untuk memutuskan bagaimana data Anda dapat direpresentasikan dengan rentang angka tersebut. Jangan biarkan hal itu menunda Anda – angka yang disusun dengan cara yang benar dapat mewakili hampir semua hal! Ada satu batasan yang harus diperhatikan – berapa kali kita dapat membaca atau menulis ke EEPROM. Menurut pabrikan Atmel, EEPROM bagus untuk 100.000 siklus baca/tulis (lihat lembar data).
Langkah 4:
Sekarang kita tahu bit dan byte kita, berapa banyak byte yang dapat disimpan di mikrokontroler Arduino kita? Jawabannya bervariasi tergantung pada model mikrokontroler. Sebagai contoh:
- Papan dengan Atmel ATmega328, seperti Arduino Uno, Uno SMD, Nano, Lilypad, dll. – 1024 byte (1 kilobyte)
- Papan dengan Atmel ATmega1280 atau 2560, seperti seri Arduino Mega – 4096 byte (4 kilobyte)
- Papan dengan Atmel ATmega168, seperti Arduino Lilypad asli, Nano lama, Diecimila dll – 512 byte.
Jika Anda tidak yakin, lihat indeks perangkat keras Arduino atau tanyakan kepada pemasok papan Anda. Jika Anda membutuhkan lebih banyak penyimpanan EEPROM daripada yang tersedia dengan mikrokontroler Anda, pertimbangkan untuk menggunakan EEPROM I2C eksternal.
Pada titik ini kita sekarang memahami jenis data apa dan berapa banyak yang dapat disimpan di EEPROM Arduino kita. Sekarang saatnya untuk mewujudkannya. Seperti dibahas sebelumnya, ada jumlah terbatas ruang untuk data kami. Dalam contoh berikut, kita akan menggunakan papan Arduino khas dengan ATmega328 dengan penyimpanan EEPROM 1024 byte.
Langkah 5:
Untuk menggunakan EEPROM, perpustakaan diperlukan, jadi gunakan perpustakaan berikut dalam sketsa Anda:
#sertakan "EEPROM.h"
Sisanya sangat sederhana. Untuk menyimpan sepotong data, kami menggunakan fungsi berikut:
EEPROM.tulis(a,b);
Parameter a adalah posisi di EEPROM untuk menyimpan integer (0~255) data b. Dalam contoh ini, kami memiliki penyimpanan memori 1024 byte, jadi nilai a adalah antara 0 dan 1023. Untuk mengambil sepotong data sama sederhananya, gunakan:
z = EEPROM.baca(a);
Dimana z adalah bilangan bulat untuk menyimpan data dari posisi EEPROM a. Sekarang untuk melihat contoh.
Langkah 6:
Sketsa ini akan membuat angka acak antara 0 dan 255, menyimpannya di EEPROM, kemudian mengambil dan menampilkannya di monitor serial. Variabel EEsize adalah batas atas ukuran EEPROM Anda, jadi (misalnya) ini akan menjadi 1024 untuk Arduino Uno, atau 4096 untuk Mega.
// Demonstrasi EEPROM internal Arduino
#termasuk
int zz; int EEukuran = 1024; // ukuran dalam byte EEPROM papan Anda
batalkan pengaturan()
{ Serial.begin(9600); randomSeed(analogRead(0)); } void loop() { Serial.println("Menulis bilangan acak…"); for (int i = 0; i < EEsize; i++) { zz=random(255); EEPROM.tulis(i, zz); } Serial.println(); for (int a=0; a < EEsize; a++) { zz = EEPROM.read(a); Serial.print("Posisi EEPROM: "); Serial.print(a); Serial.print(" berisi "); Serial.println(zz); penundaan(25); } }
Output dari serial monitor akan muncul, seperti terlihat pada gambar.
Jadi begitulah, cara lain yang berguna untuk menyimpan data dengan sistem Arduino kami. Meskipun bukan tutorial yang paling menarik, ini pasti berguna.
Posting ini dipersembahkan oleh pmdway.com – semuanya untuk pembuat dan penggemar elektronik, dengan pengiriman gratis ke seluruh dunia.
Direkomendasikan:
Kontrol LED Anda Dengan Remote TV Anda?! -- Tutorial Arduino IR: 5 Langkah (dengan Gambar)
Kontrol LED Anda Dengan Remote TV Anda?! || Tutorial Arduino IR: Dalam proyek ini saya akan menunjukkan kepada Anda bagaimana saya menggunakan kembali tombol-tombol yang tidak berguna pada remote TV saya untuk mengontrol LED di belakang TV saya. Anda juga dapat menggunakan teknik ini untuk mengontrol segala macam hal dengan sedikit pengeditan kode. Saya juga akan berbicara sedikit tentang teori
Masker Covid-19 yang Menjerit pada Anda Jika Anda Menyentuh Wajah Anda: 4 Langkah
Masker Covid-19 yang Menjerit pada Anda Jika Anda Menyentuh Wajah Anda: Tidak Bisa Berhenti Menyentuh Wajah Anda? Tempelkan elektronik ini ke topeng yang Anda miliki dan Anda akan terus diingatkan untuk tidak melakukannya
Tutorial Bluetooth ESP32 - Cara Menggunakan Bluetooth Inbuilt ESP32: 5 Langkah
Tutorial Bluetooth ESP32 | Cara Menggunakan Bluetooth Inbuilt ESP32: Hi guys Karena ESP32 Board dilengkapi dengan WiFi & Bluetooth keduanya tetapi untuk sebagian besar Proyek kami biasanya hanya menggunakan Wifi, kami tidak menggunakan Bluetooth. Jadi dalam instruksi ini saya akan menunjukkan betapa mudahnya menggunakan Bluetooth ESP32 & Untuk Proyek dasar Anda
WiFi Jammer Dengan Powerbank Inbuilt: 12 Langkah
WiFi Jammer Dengan Powerbank Inbuilt: Halo Teman,Dalam video ini saya akan Memberitahu AndaBagaimana Anda dapat membuat jammer WiFi portabel dengan bank daya inbuilt.yang dapat digunakan untuk mengisi daya ponsel Anda dan memberi daya pada jammer WiFi Anda.::Peringatan::Ini adalah ilegal untuk macet jaringan WiFi seseorang. Saya melakukan
Bagaimana Mendapatkan Musik Dari Hampir Semua Website (Haha) (Selama Anda Bisa Mendengarnya Anda Bisa Mendapatkannya Oke Baik Jika Itu Tertanam dalam Flash Anda Mungkin Tidak Bisa)
Cara Mendapatkan Musik Dari HAMPIR Website (Haha) (Selama Anda Bisa Mendengarnya Anda Bisa Mendapatkannya… Oke Baik Jika Tertanam di Flash Anda Mungkin Tidak Bisa) DIEDIT!!!!! Info Tambahan: jika Anda pernah pergi ke situs web dan memainkan lagu yang Anda sukai dan inginkan, maka inilah instruksi untuk Anda, bukan salah saya jika Anda mengacaukan sesuatu (satu-satunya cara itu akan terjadi adalah jika Anda mulai menghapus barang tanpa alasan ) sudah bisa mendapatkan musik untuk