Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Membaca dan Menulis Data ke EEPROM Arduino

Membaca dan Menulis Data ke EEPROM Arduino – Seperti yang kita ketahui, mikrokontroller pada papan Arduino (Uno) menggunakan tipe ATMega328. Mungkin perlu saya jelaskan dulu bahwa Arduino bukanlah mikrokontroller. Arduino adalah papan elektronik yang berisi mikrokontroller, lengkap dengan sistem minimumnya supaya dapat bekerja. Nah, kebanyakan Arduino menggunakan mikrokontroller buatan Intel yaitu seri ATMega. Khusus untuk Arduino Uno, wa bil khususon lagi pada Arduino Uno Rev3, menggunakan tipe ATMega328. Sebenarnya Anda dapat menggantinya dengan tipe ATMega168 atau bahkan ATMega8. Ketiganya kakak beradik yang sama dari bentuk fisik dan jumlah kakinya. Yang membedakan adalah kapasitas RAM-nya. ATMega328 memiliki RAM 32Kb, ATMega18 punya 16kb. Nah, si bungsu ATMega8 kira-kira berapa RAM-nya ayo ..?  🙂

Membaca dan Menulis Data ke EEPROM Arduino

Back to topic, kali ini kita akan membahas tentang membaca dan menulis data ke EEPROM Arduino. Jika RAM bersifat volatile (hilang saat power supply dimatikan), maka EEPROM kebalikannya, yakni bersifat non volatile. Mikrokontroller ATMega328 memiliki EEPROM sebesar 1 Kb (ATMega128 dan ATMega8 512b). Cukup lumayan untuk menyimpan data settingan  aplikasi atau konstanta program. Jangan bandingkan dengan flashdisk Anda yang bisa mencapai 128 Gb ya? Itu mah jauh perbandingannya, 1Kb vs 128 Gb J.

Untuk membaca dan menulis data ke EEPROM ke mikrokontroller ATMega di papan Arduino sangat mudah sekali karena sudah disiapkan library khusus dari yang empunya Arduino. Nama library tersebut adalah <EEPROM.h>. Dengan library ini Anda cukup menuliskan beberapa baris kode saja untuk urusan handling EEPROM karena semuanya sudah dikerjakan oleh library itu sendiri. Sangat sangat membantu untuk meringankan beban Anda. Jika Anda pernah menulis program C untuk ATMega menggunakan CodeVision AVR atau AVR Studio, Anda akan tahu yang saya maksud he he he.

Dalam library EEPROM ada dua fungsi utama yang digunakan untuk membaca dan menulis data ke EEPROM yaitu :

–  EEPROM.write (addr, val) –> untuk menulis data ke EEPROM. Parameter ‘addr’ adalah alamat EEPROM mulai dari 0 s/d 1023, sedangkan parameter ‘val’ adalah nilai/data yang berada dalam alamat EEPROM tersebut. Karena lebar data hanya 8 bit maka data yang ditampung hanya dapat bernilai 0 s/d 255. Saya akan menjelaskan lebih detail mengenai hal ini di bawah.

–  EEPROM.read(address) –> untuk membaca/mengambil data dari EEPROM. Parameter ‘address’ merupakan alamat EEPROM yang akan dibaca.

Just simple as possible, right? Anda hanya perlu ‘menghafal’ dua function di atas jika berhubungan dengan EEPROM. Dan jangan lupa untuk mendefinisikan library <EEPROM> di ujung paling atas dari sketch Anda.

Biar lebih paham, mari kita mempraktekkan dua function di atas dalam sebuah sketch (program Arduino) di bawah ini. Tapi sebelumnya, sebaiknya Anda membuat prototipe rangkaian berikut sebagai bahan praktek. Anda cukup menyediakan 1 bh Arduino Uno, 1 bh potensiometer dan 3 bh kabel jumper. Perhatikan gambar di bawah

Membaca dan Menulis Data ke EEPROM Arduino

Berikutnya adalah menulis sketch berikut di IDE Arduino dan menggahnya ke Arduino Uno Anda.

Inti dari sketch di atas adalah membaca tegangan analog di pin A0, menuliskan hasilnya di EEPROM (dibagi 4 dulu supaya dapat disimpan di EEPROM), membacanya kembali dari EEPROM dan mengirim data terbaca ke serial port agar dapat dilihat di laptop melalui aplikasi terminal client (jendela Serial Monitor Arduino atau bisa juga menggunakan aplikasi hyper Terminal)

Perhatikan baris 1. Baris ini adalah untuk mendefiniskan library EEPROM ke dalam sketch (wajib ada). Baris 14untuk membagi data tegangan analog dengan angka 4. Mengapa dibagi 4? Karena kita tahu bahwa resolusi pembacaan tegangan analog di pin analog (A0 s/d A5) adalah 10 bit sedangkan lebar data EEPROM adalah 8 bit (lagi-lagi silahkan baca di bawah untuk keterangan lebih detail mengenai ini). Baris 15 untuk menulis data hasil pembacaan sensor ke EEPROM dan baris 17 s/d 18 adalah membaca kembali data yang sudah ditulis di EEPROM dan menyimpannya ke variabel ‘address’. Baris berikutnya (20 s/d 23) adalah untuk mengirim pembacaan data EEPROM ke laptop melalui port USB (virtual serial port) sedangkan baris 25 s/d 31 untuk membatasi alamat EEPROM yang akan diisi datanya. Saya harap Anda sudah paham mengenai cara membaca dan menulis data ke EEPROM Arduino dari penjelasan dan contoh sketch di atas. Bagi yang masih belum paham, silahkan isi komentar di bawah, saya akan menjawabnya secepat mungkin.

Pada bagian artikel terakhir ini, saya akan menjelaskan tentang parameter ‘alamat’ atau ‘address’ dan ‘val’ atau value/nilai/data dari EEPROM. Saya akan jelaskan ilustrasi yang mendekati gambaran fisik sebuah EEPROM dalam mikrokontroller pada umumnya. Perhatikan gambar di bawah

Membaca dan Menulis Data ke EEPROM Arduino - ilustrasi EEPROM

Pada dasarnya, sebuah EEPROM adalah sebuah register bertingkat yang memiliki alamat yang didalamnya ada sebuah data. Anda dapat membayangkan ‘register’ adalah sebuah lemari pakaian dengan rak bertingkat. Tiap rak tersebut berisi jenis pakaian yang berbeda. Jika rak adalah ‘alamat’ lemari, maka jenis pakaian yang berada di dalam rak adalah ‘data’-nya. Perhatikan kembali gambar di atas.  Kolom dari atas ke bawah mulai angka 0 … 1023 adalah alamat EEPROM, sedangkan baris yang yang menyamping adalah datanya. Kolom bisa Anda bayangkan sebuah rak lemari, sedangkan baris yang menyamping adalah isi data alias jenis pakaiannya. Karena  mikrokontroller ATMega adalah mikrokontroller  berbasis 8 bit maka, mau tau mau desain fisik EEPROM juga akan mengikuti 8 bit (jangan bandingkan dengan Windows Anda yang 32bit/64bit ya 🙂 , untuk hal ini Arduino masih kalah jauh 😀 ). Apakah itu 8 bit? Yakni angka biner dari 0000 0000 sampai dengan 1111 1111 alias 0 s/d 255. Saya harap Anda sudah mulai terbuka jalan pikirannya 🙂 . Jika belum, silahkan isi komentar 🙂

Incoming search terms:

cara menggunakan eeprom arduino, menyimpan data di eeprom arduino, eeprom pada arduino, cara menyimpan data di arduino, akses eeprom arduino, cara arduino simpan, pemrograman eeprom, cara menyimpan data di eeprom arduino, cara menggunakan eeprom library arduino, contoh program eeprom arduino
50 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

error: Content is protected !!