Contoh Penerapan Eeprom Pada Arduino

Pada beberapa sistuasi, kita mungkin membutuhkan memori yang sanggup membackup data dari suatu proses, contohnya Ketika kita menciptakan suatu sistem untuk menghitung barang, kemudian terjadi pemadaman listrik dikala sitem tersebut sedang bekerja, sedangkan barang yang sudah dihitung sudah banyak, bagaimana caranya semoga dikala listrik kembali lagi menyala, penghitungan dilanjutkan dari data terakhirnya ?. contohnya penghitungan terakhir yaitu 100, kemudian dikala diulang kembali maka penghitungannya dimulai dari 101.
Solusinya yaitu dengan memakai EEPROM. EEPROM merupakan suatu memori yang sanggup kita gunakan untuk menyimpan suatu data, data tersebut tidak akan terhapus walaupun Arduino dimatikan atau di reset, dan hanya akan terhapus melalui perintah (program) yang sudah ditentukan, perintah tersebut yaitu EEPROM.clear. EEPROM sanggup ditulis per-blok dimana dalam setiap bloknya bisa menyimpan data sekitar 0 hingga 255.
kapasitas dari EEPROM sendiri berbeda-beda sesuai dengan mikrokontroler yang digunakan, dalam percobaan ini aku memakai board Arduino Pro yang memakai mikrokontroler atmega328p, chip ini sama dengan yang dipakai oleh Arduino uno R3, kapasitas EEPROM yang dimiliki oleh atmega328P yaitu 1 KB, yang berarti memiliki 1023 blok penyimpanan EEPROM. Untuk memakai EEPROM, kita harus memakai library EEPROM.h yang sudah disediakan pada Arduino IDE.
Dalam artikel ini, aku menciptakan sebuah percobaan sederhana yaitu menciptakan sebuah counter-up dengan menggunkan sebuah push button, dimana setiap push button ditekan maka proses increment (tambahan) akan dimulai, dan hasil dari increment tersebut akan disimpan didalam EEPROM.

Perancangan
Rangkaian yang aku buat yaitu sebagai berikut:

aktivitas yang aku buat yaitu sebagai berikut:


 
Pembahasan program
Untuk menyimpan hasil increment ini aku memakai 1 blok EEPROM, yaitu pada blok 1. EEPROM.update dipakai untuk mengupdate/menyimpan setiap hasil perubahan increment, penulisan EEPROM.update umumnya ditulis dengan perintah EEPROM.update(alamat_EEPROM, nilai_yang_akan_disimpan).

Hasil
Hasil yang didapat yaitu sebagai berikut:

 Dari Gambar diatas, sanggup dilihat meskipun Arduino direset beberapa kali, counter nya akan melanjutkan dari hasil sebelumnya. nilai awal yang terdapat dalam EEPROM yaitu 17. nilai ini akan berbeda-beda sebab mungkin saja anda belum pernah memakai alamat EEPROM ini untuk menyimpan data, sehingga counter awalnya yaitu 0 atau 1, atau yang lainnya.

Penutup
bagi yang belum mengerti, Silahkan tulis komentarnya, terima kasih...