By | 25/09/2020

Helo temen-temen anak kendali
Pada kesempatan kali ini saya akan menulis artikel tentang Tutorial ESP32 Mengakses EEPROM. baik membaca EEPROM ataupun Menulis EEPROM. Memori EEPROM sangat berguna untuk menyimpan data secara permanent meskipun catu daya dimatikan.

Cara Mengakses EEPROM Arduino(Buka di tab peramban baru)

Berikut saya akan berikan tutorial ESP32 untuk dapat mengakses EEPROM dengan Arduino IDE, dengan LCD oled 0.96 sebagai indikator tampilan datanya.

Memori Flash

Arduino, Cara Menyimpan Data String EEPROM(Buka di tab peramban baru)

Memori Flash memori ini berguna sebagai tempat atau wadah untuk menyimpan suatu program.
program yang telah kita buat dan compile maka  selanjutnya akan tersimpan pada memori flash sehingga program tidak akan hilang kecuali di timpa dengan program baru atau kita membuat program baru

EEPROM

EEPROM adalah memori yang memiliki fungsi sebagai tempat media penyimpanan sebuah data jika di ibaratkan maka EEPROM adalah sebuah hardisk pada laptop/pc, data yang masuk dan disimpan pada EEPROM tidak akan hilang meskipun catu daya di hilangkan, dimatikan atau ESP32 direset kecuali kita mengganti data tersebut dengan data lainya.

Pada ESP32 kita dapat menulis dan membaca EEPROM hingga ribuan kali, beda dengan ic zaman dulu yang sulit untuk menghapus data eeprom dengan menggunakan cahaya UV atau sejenisnya

Bahan-bahan

  1. Modul Trainer ESP32 (Beli Via Tokopedia) atau Wemos D1 Mini ESP32 (Beli Via Tokopedia)
  2. LCD Oled 0.96 (Beli Via Tokopedia)
  3. Tombol (Bli Via Tokopedia)
  4. Kabel Jumper secukupnya

Arduino, Kalibrasi Sensor Garis EEPROM(Buka di tab peramban baru)

Langkah-Langkah

  1. Membuat rangkaian seperti pada gambar dibawah ini
Tutorial ESP32 Mengakses Membaca dan Menyimpan EEPROM
  1. Selanjutnya buat program untuk menulis EEPROM dan juga Membaca EEPROM.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "OneButton.h"
#include "EEPROM.h"

OneButton b1(33, true);
OneButton b2(14, true);
OneButton b3(26, true);

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32

#define OLED_RESET     -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

#define NUMFLAKES     10

#define LOGO_HEIGHT   16
#define LOGO_WIDTH    16

byte a;
String msg;

void setup() {
  EEPROM.begin(64);
  Serial.begin(9600);

  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32
    Serial.println(F("SSD1306 allocation failed"));
    for (;;);
  }

  b1.attachClick(click1);
  b1.attachDoubleClick(doubleclick1);
  b1.attachLongPressStart(longPressStart1);
  b1.attachLongPressStop(longPressStop1);
  b1.attachDuringLongPress(longPress1);

  // link the b 2 functions.
  b2.attachClick(click2);
  b2.attachDoubleClick(doubleclick2);
  b2.attachLongPressStart(longPressStart2);
  b2.attachLongPressStop(longPressStop2);
  b2.attachDuringLongPress(longPress2);

  b3.attachClick(click3);
  b3.attachDoubleClick(doubleclick3);
  b3.attachLongPressStart(longPressStart3);
  b3.attachLongPressStop(longPressStop3);
  b3.attachDuringLongPress(longPress3);

  delay(2000);
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(10, 1);
  display.print("www.anakkendali.com");
  display.setCursor(20, 10);
  display.print("Grow Up Your");
  display.setCursor(10, 20);
  display.print("Programming Skill!!");
  display.display();
  delay(2000);
  msg = "Data yang Tersimpan";
  a = EEPROM.read(0);
}

void loop() {
  b1.tick();
  b2.tick();
  b3.tick();
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(1, 1);
  display.print(msg);
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(50, 15);
  display.print(a);
  display.display();
  EEPROM.commit();
}

void click1() {
  a--;
}

void doubleclick1() {
  a--;
}

void longPressStart1() {
  a--;
}

void longPress1() {
  a--;
}

void longPressStop1() {
}

void click2() {
  EEPROM.write(0, a);
  msg = "Data Sukses Disimpan";
}

void doubleclick2() {
}

void longPressStart2() {
}
void longPress2() {
}

void longPressStop2() {
}

void click3() {
  a++;
}

void doubleclick3() {
  a++;
}

void longPressStart3() {
  a++;
}
void longPress3() {
  a++;
}

void longPressStop3() {
  a++;
}

Tutorial Arduino Set Alarm RTC DS3231 dengan Android Bluetooth dan EEPROM(Buka di tab peramban baru)

  1. Penjelasan cara kerja program diatas.
    Terdapat tiga buah tombol dan juga LCD oled, yang mana fungsi tombol1 untuk menambah nilai, tombol2 untuk menyimpan nilai pada EEPROM sedangkan tombol3 untuk mengurangi nilai.
    Saat ESP32 direset atau dimatikan kemudian dinyalakan lagi maka otomatis nilai yang akan tampil sesuai dengan nilai yang disimpan.
Tutorial ESP32 Mengakses Membaca dan Menyimpan EEPROM

ESP32, Cara Memulai Mengakses ESP32 Arduino IDE(Buka di tab peramban baru)

Salam Anak Kendali

2 Replies to “Tutorial ESP32 Mengakses Membaca dan Menyimpan EEPROM”

  1. buhoy

    apakah dengan arduino bisa meread dan rewrite ic at88sc gan?

    Reply
  2. Bimoputra

    Tolong buatkan untuk bisa baca 2 data berbeda di eeprom

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *