0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan4 halaman

Tutorial Penggunaan EEPROM di Arduino

Tulisan ini memberikan penjelasan tentang cara membaca dan menulis data ke EEPROM pada Arduino. EEPROM digunakan untuk menyimpan data yang akan tetap tersimpan bahkan saat power off. Tulisan ini mendemonstrasikan cara menulis nilai sensor ke EEPROM dan membacanya kembali menggunakan library EEPROM dan contoh kode. Ilustrasi tentang alamat dan nilai EEPROM juga dijelaskan.

Diunggah oleh

trilambangts
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan4 halaman

Tutorial Penggunaan EEPROM di Arduino

Tulisan ini memberikan penjelasan tentang cara membaca dan menulis data ke EEPROM pada Arduino. EEPROM digunakan untuk menyimpan data yang akan tetap tersimpan bahkan saat power off. Tulisan ini mendemonstrasikan cara menulis nilai sensor ke EEPROM dan membacanya kembali menggunakan library EEPROM dan contoh kode. Ilustrasi tentang alamat dan nilai EEPROM juga dijelaskan.

Diunggah oleh

trilambangts
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Tutorial EEPROM dengan Arduino

Dipublikasikan oleh mkub pada 23 November 2017

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 ..? 

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.

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.

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

–  [Link] (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.

–  [Link](address) –> untuk membaca/mengambil data dari EEPROM.


Parameter ‘address’ merupakan alamat EEPROM yang akan dibaca.
Yup, supaya 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

Berikutnya adalah menulis sketch berikut di IDE Arduino dan menggahnya ke


Arduino Uno Anda:

Arduino

1 #include <EEPROM.h>
2  
3 int address = 0;
4 byte value;
5 int addr = 0;
6  
7 void setup()
8 {
9 [Link](9600);
10 }
11  
12 void loop()
13 {
14 int val = analogRead(0) / 4;
15 [Link](addr, val);
16  
17 address=addr;
18 value = [Link](address);
19  
20 [Link](address);
21 [Link]("\t");
22 [Link](value, DEC);
23 [Link]();
24  
25 address = address + 1;
26 if (address == 512)
27 address = 0;
28  
29 addr = addr + 1;
30 if (addr == 512)
31 addr = 0;
32  
33 delay(500);
34 }

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

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. 

Anda mungkin juga menyukai