Menyimpan Banyak Data dengan Menggunakan Type Struct pada EEPROM Arduino

Dipublikasikan oleh Admin pada

Menyimpan data EEPROM struktur data

Apabila ingin menyimpan banyak data pada board Arduino (misalnya data setting atau konfigurasi), umumnya pengguna Arduino menyimpan data variable demi variable menggunakan fungsi EEPROM.write pada alamat EEPROM yang alamatnya dihitung secara manual.

Fungsi EEPROM.write hanya mampu menyimpan satu byte data per sekali panggil. Kalau kita mau menyimpan banyak data sekaligus, maka kita bisa menggunakan fungsi EEPROM lain yaitu EEPROM.put.

Agar penyimpanan dan pembacaan banyak data pada EEPROM dapat lebih sederhana, mudah dan kompak, maka variable yang akan disimpan dapat kita buat dalam bentuk struct.

Struct adalah type data yang dapat menampung banyak data dengan type yang berbeda-beda. Selain type data di dalamnya berbeda-beda, struct juga bisa menyimpan data yang jumlahnya fleksibel. Bisa banyak atau sedikit, tergantung bagaimana kita mendefinisikannya. Struct dapat diartikan sebagai record, dimana di dalamnya terdapat field-field.

Constoh Struct

Penjelasan:
Pada contoh di atas kita mendefinisi sebuah type data struct yang bernama KartuID. Di dalam KartuID terdapat variable dengan type berbeda-beda, yaitu: nama, rfid dan scan.

Mendeklarasikan Variable berdasarkan Struct

Penjelasan:
Cara mendeklarasikan variable struct sama caranya dengan mendeklarasikan variable lain. Bila cara mendeklarasikan variable integer adalah: int bilangan; maka untuk mendeklarasikan variable bertype struct juga polanya sama. Pada contoh di atas, kita mendeklarasikan variable kartu1 dengan type data KartuID.

Menentukan Nilai Variable Struct

Penjelasan:
Menentukan nilai variable bertype struct caranya adalah dengan menggunakan pola: namaVar.field = nilai; Pada contoh di atas, kartu1.scan = 9880; itu artinya kita menyimpan nilai 9880 ke variable struct bernama kartu1 dan pada field bernama scan.

Khusus untuk variable bertipe string (char[]), maka gunakan fungsi strcpy(), yaitu fungsi untuk mengcopy string ke dalam variable.

Sketch Arduino Menyimpan Struct ke EEPROM

Pada contoh di bawah ini kita menggunakan variable bertype struct dan menggunakan fungsi EEPROM.put dan EEPROM.get

Pembaca dapat melihat bahwa cara ini sangat praktis dan bisa digunakan untuk berbagai keperluan dalam proyek Arduino.

Struktur data pada contoh di atas dapat diganti dengan data-data sungguhan sesuai dengan proyek yang pembaca buat. Misalnya menyimpan setting suhu thermostat, menyimpan harga BBM pada mesin Pertamini, menyimpan jadwal bel sekolah otomatis, menyimpan data sensor terakhir, dsb.

Demikian penjelasan singkat tentang bagaimana cara menyimpan banyak data dengan EEPROM pada Arduino. Kalau ada kritik dan saran, silahkan pembaca berkomentar.

Selamat mencoba, selamat berkarya.

Topik hangat:

Kategori: Arduino

Berikan Komentar Anda