Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Selasa, 14 Mei 2024

Cara Menggunakan EEPROM di Arduino untuk Penyimpanan Data

EEPROM (Electrically Erasable Programmable Read-Only Memory) adalah jenis memori non-volatil yang sering digunakan dalam aplikasi elektronik untuk menyimpan data yang perlu dipertahankan bahkan ketika daya mati. EEPROM di Arduino sangat berguna untuk menyimpan konfigurasi, pengaturan atau data penting lainnya yang harus dipertahankan antara siklus daya. EEPROM pada dasarnya adalah memori yang bisa dibaca dan ditulis seperti RAM, tetapi tidak akan hilang ketika daya mati. 


Kelebihan EEPROM di Arduino


1. Data tetap ada meskipun perangkat dimatikan. Hal ini dikarenakan EEPROM termasuk jenis non-volatil.

2. Dapat menahan ribuan siklus tulis/erase.

3. API Arduino menyediakan fungsi yang mudah digunakan untuk mengakses EEPROM.

 

Kekurangan EEPROM di Arduino

 

1. Pada umumnya memiliki kapasitas kecil seperti Arduino Uno yang hanya memiliki 1024 byte EEPROM.

2. Waktu akses lebih lambat jika dibandingkan dengan RAM.

3. Setiap sel memori hanya dapat dihapus dan ditulis ulang sekitar 100.000 kali sebelum mulai gagal.

 

Baca juga : Menulis Kode yang Efisien dan Bersih untuk Arduino

 

Cara Kerja EEPROM di Arduino

 

EEPROM di Arduino bekerja dengan menyimpan data dalam sel memori individual yang dapat diakses menggunakan alamat tertentu. EEPROM dapat diakses menggunakan library EEPROM bawaan. Library ini menyediakan fungsi-fungsi untuk membaca dan menulis data ke EEPROM.


Fungsi Utama EEPROM

 

• EEPROM.write(address, value) berfungsi untuk menulis nilai (byte) ke alamat EEPROM tertentu.

• EEPROM.read(address) berfungsi untuk membaca nilai dari alamat EEPROM tertentu.

• EEPROM.update(address, value) berfungsi untuk menulis nilai (byte) ke alamat EEPROM tertentu hanya jika nilai tersebut berbeda dengan nilai yang sudah ada untuk menghemat siklus tulis.

• EEPROM.get(address, value) berfungsi untuk membaca nilai dari alamat EEPROM tertentu ke variabel.

• EEPROM.put(address, value) berfungsi untuk menulis nilai dari variabel ke alamat EEPROM tertentu.

 

Contoh Penerapan EEPROM di Arduino


Contoh 1: Menyimpan dan Membaca Data Sederhana

 

#include <EEPROM.h>

void setup() {

  Serial.begin(9600);

  // Menulis nilai 42 ke alamat 0 di EEPROM

  EEPROM.write(0, 42);

  // Membaca nilai dari alamat 0 di EEPROM

  byte value = EEPROM.read(0);

 

  // Menampilkan nilai yang dibaca

  Serial.print("Nilai yang disimpan di EEPROM: ");

  Serial.println(value);

}

void loop() {

  // Tidak melakukan apa-apa

}

 

Pada contoh di atas, nilai 42 disimpan ke alamat 0 di EEPROM yang akan dibaca kembali untuk ditampilkan di Serial Monitor. Anda dapat mengunggah sketsa ini ke Arduino Anda dan membuka Serial Monitor untuk melihat hasilnya.

Contoh 2: Menyimpan dan Membaca Struktur Data

EEPROM dapat digunakan untuk menyimpan struktur data yang lebih kompleks seperti struct. Berikut ini contoh cara menyimpan dan membaca struct menggunakan EEPROM.

 

#include <EEPROM.h>

struct MyData {

  int id;

  float value;

};

void setup() {

  Serial.begin(9600);

 

  // Data yang akan disimpan

  MyData data = { 1, 123.45 };

  // Menyimpan data ke EEPROM

  EEPROM.put(0, data);

  // Variabel untuk membaca data

  MyData readData;

  // Membaca data dari EEPROM

  EEPROM.get(0, readData);

  // Menampilkan data yang dibaca

  Serial.print("ID: ");

  Serial.println(readData.id);

  Serial.print("Value: ");

  Serial.println(readData.value);

}

void loop() {

  // Tidak melakukan apa-apa

}

 

Pada contoh di atas, Anda membuat struct `MyData` yang berisi sebuah integer dan float. Struct ini disimpan ke EEPROM menggunakan fungsi `EEPROM.put()` dan dibaca kembali menggunakan `EEPROM.get()`. Hasilnya ditampilkan di Serial Monitor.

Contoh 3: Menyimpan Pengaturan Konfigurasi

EEPROM menyimpan pengaturan konfigurasi yang dapat diubah oleh pengguna. Sebagai contoh, Anda dapat menyimpan pengaturan tingkat kecerahan LED yang dapat diatur oleh potensiometer.

 

#include <EEPROM.h>

const int potPin = A0;

const int ledPin = 9;

int brightness;

void setup() {

  Serial.begin(9600);

  pinMode(ledPin, OUTPUT);

  // Membaca kecerahan yang disimpan dari EEPROM

  brightness = EEPROM.read(0);

  // Mengatur kecerahan LED sesuai dengan nilai yang dibaca

  analogWrite(ledPin, brightness);

  Serial.print("Kecerahan LED yang disimpan: ");

  Serial.println(brightness);

}

void loop() {

  // Membaca nilai potensiometer

  int potValue = analogRead(potPin);

  // Mengubah nilai potensiometer menjadi nilai kecerahan (0 - 255)

  brightness = map(potValue, 0, 1023, 0, 255);

  // Mengatur kecerahan LED

  analogWrite(ledPin, brightness);

  // Menyimpan kecerahan ke EEPROM

  EEPROM.update(0, brightness);

  delay(100);

}

 

Pada contoh di atas, Anda menggunakan potensiometer untuk mengatur tingkat kecerahan LED. Nilai kecerahan yang disimpan akan dibaca dari EEPROM ketika startup dan digunakan untuk mengatur LED. Setiap kali nilai kecerahan berubah, nilai tersebut akan disimpan kembali ke EEPROM menggunakan `EEPROM.update()` untuk mengurangi siklus tulis yang tidak perlu.

 

Tips dan Trik Menggunakan EEPROM


1. Gunakan `EEPROM.update()` untuk menghindari penulisan berulang ke alamat yang sama dengan nilai yang sama. Hal ini akan memperpanjang umur EEPROM.

2. Jika Anda perlu menyimpan banyak data, pertimbangkan untuk menggunakan encoding atau pengompresan data.

3. Selalu baca nilai dari EEPROM ketika startup untuk menghindari penulisan yang tidak disengaja dan memastikan bahwa perangkat Anda dimulai dengan pengaturan yang benar.

4. Jika data yang Anda simpan sangat penting, pertimbangkan untuk menyimpan salinan cadangan di alamat lain pada EEPROM.

5. Gunakan struct agar lebih mudah mengelola dan menyimpan data ke EEPROM. dengan lebih kompleks.

 

Jadi, EEPROM di Arduino sangat berguna untuk menyimpan data yang perlu dipertahankan antara siklus daya. Anda dapat menulis dan membaca data dari EEPROM dengan mudah menggunakan library EEPROM Arduino. EEPROM cocok untuk berbagai aplikasi yang memerlukan penyimpanan data non-volatil meskipun terdapat beberapa keterbatasan seperti kapasitas yang terbatas dan siklus tulis yang terbatas. Pahami cara kerja dan terapkan teknik yang tepat agar dapat memanfaatkan EEPROM di Arduino untuk berbagai keperluan, mulai dari menyimpan pengaturan konfigurasi hingga data aplikasi yang kompleks.

 

 

 

 

 

 

 

Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?

Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!

 

 

0 on: "Cara Menggunakan EEPROM di Arduino untuk Penyimpanan Data"