Cara Membaca-Menyimpan String ke EEPROM Arduino

Tipe data ‘string’ sudah didukung oleh Arduino sejak versi 1.6.x ke atas. String bisa dikatakan sebagai tipe data yang berisi kumpulan karakter. Namun untuk pemakaiannya di perangkat mikrokontroller harus hati-hati dan tepat sasaran karena penggunaan string akan sangat banyak menghabiskan memori terutama untuk string yang panjang. Di Arduino, Anda bisa menggunakan char array sebagai pengganti string. Namun karena ada beberapa kelebihan string, maka kadang kita perlu memakainya dalam sketch kita.

Artikel kali ini akan membahas tentang Cara Membaca-Menyimpan String ke EEPROM Arduino yang merupakan lanjutan dari tutorial sebelumnya, ini dan itu. Artikel ini juga terinspirasi dari artikel ‘Bekerja dengan Variabel String di Arduino‘. Tutorial di bawah langsung ke pemakaian script ya, jadi tidak lagi membahas library EEPROMEx.h, cara instalasi, cara penggunaan, dsb. Silahkan dibaca artikel pengantarnya pada link-ink artikel di atas.

Cara Menyimpan String ke EEPROM Arduino

Seperti yang saya utarakan sebelumnya, untuk memudahkan pengelolaan EEPROM di Arduino, salah satu alternatif library yang cukup powerful adalah EEPROMEx.h. Dengan mendeklarasikan library ini ke dalam sketch Anda, maka Anda akan dapat dengan mudah menyimpan integer, longInt, float, double, char array, dll ke EEPROM. Namun untuk langsung menyimpan variabel string tidak bisa. Anda harus mengubah dulu variabel string menjadi char array, baru bisa disimpan ke EEPROM. Contoh pemakaian:

char charbuf[15];
String s = “saptaji.com”
s.toCharArray(charbuf,15);
EEPROM.writeBlock<char>(0, charbuf, 15); //simpan data char array (15 karakter) ke address 0

Cara Membaca String dari EEPROM Arduino

Kebalikan dari langkah di atas, untuk membaca string dari EEPROM Arduino tidakah bisa langsung dilakukan, karena data yang tersimpan di EEPROM Arduino adalah tipe char array. Jadi Anda harus baca dulu data char array di EEPROM baru kemudian diubah ke string. Berikut contoh penggunaannya.

char output[] = " ";

EEPROM.readBlock<char>(0, output, 15); //baca data char array di alamat 0
//convert to string
String cstring = String (output);

Demikian sedikit contoh cara Membaca-Menyimpan String ke EEPROM Arduino, semoga bermanfaat. Berhati-hatilah menggunakan variabel string di Arduino. Sayangi memori-mu 🙂

5 1 vote
Article Rating

Leave a Reply to Shiraath Cancel reply

43 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Bayu

Saya coba upload example dari library yg didownload tdk bisa,ada eror struck.ada solusi? Sya mau menyimpan integer ke eeprom sebgai parameter

Heri

Tolong dijawab jg bozz ajie…
Sy jg mengalami hal yg sama (eror struck)
Suwunn….

Danny

assalamualaikum mas , mohon bantuannya mas saya mau tanya bagaimana menyimpan data rtc+hasil scan rfid reader mfrc522 secara bersaman ke eeprom mas terimakasih .

Danny

tapi bisa kan mas eeprom menyimpan data waktu rtc dan rfid secara bersaman mas

apriadi.s

assalamualaikum mas,mau tanya? kenapa penggunaan EEPROMex. masih bermasalah ketika di compile mas,katanya eror for “compiling board arduino”
sudah saya ganti board nya tpi ttp juga gak mau,kira2 masalah nya apa itu mas,mohon bantuan nya mas.

Izzudin

assalamualaikum mas maaf mau bertanya,kalau ingin menyimpan data string dari serial mau disimpan ke 1 alamat EEPROM bagaimana ya mas?
contoh = String data=”saptaji”
ingin disimpan di alamat EEPROM 0 gmana mas?tp menggunakan EEPROM bawaannya arduino mas,makasih

Rendy

Assalamualikum mas Aji, saya ada project arduino kunci pintu menggunakan solenoid. lalu saya ingin menampilkan log event di lcd data waktu dari operasi kunci pintu tersebut, untuk tombol pake keypad dan untuk waktu renacana saya pakai RTC. apakah data tersebut bisa di simpan dan di baca menggunakan eeprom mas?
Terimakasih

Rendy

Oke di coba dulu, mkasih mas info dan saran nya

waskito

bang needs help, gimana make eeprom buat nyimpan data latitude longitude bang. saya sudah coba berbagai cara yang kebaca hanya 2 digit dibeakang koma dan kdang malah gak kebaca. mohon bantuannya

ipungdc

Saya pake 2 button, button 1 sama button 2. button 1 untuk counter up dan button 2 buat counter down. biar data counter itu kesimpen di EEPROM trus saat arduino direset tetep muncul data counter yg terakhir (counter up/counter down) itu gimana ya mas ? Trimakasih…

Zura

Maaf gan, bisa jelasin lagi gak tentang penggunaan space untuk eeprom, soalnya udah baca dari artikel artikel sebelumnya bahasanya kurang mengerti bagi saya.
Mohon bantuannya ya gan ,

Shiraath

Assalamu’alaikum mas Ajie. Sy hendak menanyakan cara menyimpan dan membaca data dengan jumlah data 30 (data1,…,data30) data berupa string. Setiap data ada 10 karakter (Misalnya “B.Inggris”). Terimakasih

Shiraath

terimakasih banyak mas Ajie

Fauzi

Mas klo milasi nilai lat nya ada 10 data bagaimana mas? Dan untuk pemanggilan getnya di buat simple?

Shiraath

apa perlu dikasih for mas ?

Fauzi

Mas klo milasi nilai lat nya ada 10 data bagaimana mas? Dan untuk pemanggilan getnya di buat simple?

idris

Tanya mas,, misalkan mau simpan format jam ke eeprom gmn caranya supaya jam detik dan menitnya bisa terpisah,, misal ada 3 urutan jam yang mau kita simpan.. jam1, jam2, jam3

Annuum

Mau tanya mas, agar 2 rfid bisa bekerca beda gimana ya? 1 RFID untuk menyimpan data ke EEPROM 1 RFID lagi membaca data yang sudah masuk EEPROM. Terimakasih h

fai sol

assalamu alaikum
saya juga sdg buat project dgn rfid untuk door lock
gambarannya rfid card 1 sebagai kartu admin dan rfid card 2 sebagai kartu tamu….
jd misalkan kartu 2 hilang kita bisa mengganti dgn kartu lain setelah menempelkan kartu admin… tnpa upload skect…

mohon bantuannya gan saptaji…

fai sol

mksh masukan… saya coba dlu… mohon bntuannya misal ada kendala…

faozy

thank you mas aji.. ijin menggunakan kodenya,, baru mulai belajar koding eeprom

Alex

halo mas Ajie, makasih udh share tutorialnya sangat membantu 🙂
saya menggunakan EEPROMEX untuk mengunci tombol keypad 1 x 4 yang digunakan sebagai masukan untuk menentukan parameter yang diinginkan.
tp kenapa mas ketika keypadnya ditekan dia seperti ada delay yg berbeda beda agar memuculkan keypad yg kita tekan, saya tes keypad 4 x 4 dia normal tp pake 1 x 4 dia delay yang cukup lama dan berbeda untuk membaca tombol mana yang kita tekan. mohon bantuaanya mas ajie.

Ridhwan

Assalamualaikum mas Ajie, kalau data yang sudah tersimpan di EEPROM dan tidak dipakai lagi apakah harus dihapus untuk memperbesar ruang sketch ? atau nanti sketch otomatis bisa me replace alamat EEPROM juga ya bila diperlukan?

Ridhwan

Oh beda ruang ya, brarti tidak masalah ya bila data di EEPROM dibiarkan saja bila tidak adipakai lagi?

43
0
Would love your thoughts, please comment.x
()
x