15. Eksperimen dengan EEPROM
Pemrograman arduino dengan ardublock juga menjelaskan secara details cara menuliskan data dalam ardublock dan membaca data di EEPROM.
Bab ini menjelaskan pengertian EEPROM, cara menuliskan data ke EEPROM dan juga cara membaca data di EEPROM.
15.1 Pengantar EEPROM dan Cara Pengaksesannya
EEPROM (Electrically Erosablc Programmable Read-Only Memory) adalah jenis memori yang memungkinkan untuk ditulisi dan mampu menyimpan isinya walau tidak ada aliran listrik. Tentu saja, isi memori jenis ini dapat diganti kapan saja. Dengan demikian, Anda insa menyimpan data tanpa khawatir akan hilang ketika padam.
Secara bawaan, Arduino Uno telah dilengkapi EEPROM dengan ukuran 1.024 byte. Gambar 15.1 memperlihatkan a!amat untuk setiap byte di EEPROM pada Arduino Uno
Gambar 15.1 Memori di EEPIt0M dan alamat masing-masing
EEPROM dapat diakses melalui ArduBlock melalui sejumlah blok yang terdapat di laci
Gambar 15.2 Blok-blok yang digungkan untuk mengakses EEPROM
![]() ![]() |
EEPROM mempunyai batas usia penulisan/penghapusan hingga 1000.000 siklus. Itulah sebabnya, harap berhati-hati dalam melakukan operasi pembcaan/penulisan, yakni menjaga agar tidaak terjadi penulisan yang berulang terus menerus. |
15.2 Contoh Pengakscsan Data dalam Bentuk Byte
Untuk mempraktikkan pengaksesan data pada EEPROM dalam bentuk byte, silakan membuat proyek baru bernama aksesBytc . abp. Lalu, susunlah blok seperti terlihat pada Gambar 15.3. Pengujian dapat dilakukan tanpa perlu menyusun rangkaian apa pun.
Gambar 15.3 Blok untuk menuliskan dan membaca data byte di EEPROM
Pada proyek ini, blok berikut digunakan untuk menentukan alamat di EEPROM yang akan diakses:
Dalam hal ini, variabel alamat diisi dengan alamat 0.
Penulisan data berukuran byte ke EEPROM dilakukan oleh:
Dengan cara seperti ini, nilai 78 disimpan di alamat 0, mengingat alamat berisi 0. Pengambilan data di lokasi alamat 0 ditangani oleh:
Hasil proyek aksesByte ditunjukkan pada Gambar 15.4.
Gambar 15.4 Hasil pengaksesan data bertipe byte
![]() ![]() |
Data berukuran byte disimpan di satu memori di EEPROM. Data yang dapat disimpan hanya berkisar antara 0 dan 255. |
15.3 Contoh Pengaksesan Data dalam Bentuk Bilangan Integer
Untuk mempraktikkan pengaksesan data pada EEPROM dalam bentuk byte, silakan untuk membuat proyek baru bernama akseslnteger . abp. Lalu, susunlah blok seperti pada Gambar 15.5
Gambar 15.5 blok untuk menuliskan dan membaca data interger di EEPROM
Secara prinsip, blok di proyek ini mempunyai kesamaan dengan contoh di proyek Hasilnya diperlihatkan pada Gambar 15.6.
Gambar 15.6 Hasil proyek akses Integer
![]() ![]() |
Data berukuran integer disimpan di dua memori di EEPROM. Data yang dapat disimpan hanya berkisar antara -32768 dan +32767. Jika Anda menyimpan di alamat x, maka memori yang digunakan adalah yang beralamat x dan X+l. |
15.4 Contoh Pengaksesan Data dalam Bentuk Bilangan Long
Untuk mempraktikkan pengaksesan data pada EEPROM dalam bentuk byte, silakan untuk membuat proyek baru bernama aksesLong. abp. Lalu, susunlah blok seperti terlihat pada Gambar 15.7.
Gambar 15.7 Blok untuk menuliskan dan membaca data long integer di EEPROM
Sekilas tidak ada yang ganjil. Namun,kalau Anda menyorot pada angka di slot data, akan diperoleh informasi seperti berikut:
Hasilnya akan diperlihatkan pada Gambar 15.8.
Gambar 15.8 hasil proyek aksesLong
![]() ![]() |
Data berukuran long interger disimpan di dua memori di EEPROM. Data yang dapat disimpan hanya berkisar antara -0 dan 4.294.967.295. jika anda menyimpan di alamat x, maka memori yang digunakan adalah yang beralamat x,x+1, x+2, dan x+3. |
15.5 Contoh untuk Membaca semua Jenis Bilangan
Untuk mempraktikkan pengaksesan data pada EEPROM dalam bentuk byte, silakan untuk membuat proyek baru bernama bacaEEPROM . abp, Lalu, susunlah blok seperti terlihat pada Gambar 15.9.
Gambar 15.9 Blok untuk membaca data yang dibentuk oleh tiga proyek di depan
Blok ini membaca data bertipe byte di alamat 0, data integer di alamat 2, dan data long integer di alamat 4. Hasilnya diperlihatkan pada Gambar 15.10.
Gambar 15.10 Hasil pembacaan data bertipe byte, integer, dan long integer