Cara menggunakan AT24C256 EEPROM dengan Arduino

How to Use the AT24C256 EEPROM with Arduino

AT24C256 adalah EEPROM 256 kilobit yang menyediakan penyimpanan yang tidak mudah menguap, memungkinkan data bertahan bahkan ketika daya mati. Ini berkomunikasi dengan mikrokontroler melalui protokol I2C, menjadikannya ideal untuk menyimpan data sensor, konfigurasi, atau informasi lain dalam proyek Arduino. Tutorial ini akan memandu Anda melalui antarmuka dan menggunakan AT24C256 dengan Arduino.


Apa yang Anda Butuhkan

  1. AT24C256 Modul EEPROM atau IC
  2. Dewan Arduino (mis., Uno, mega, nano)
  3. Papan tempat memotong papan dan kabel jumper
  4. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami AT24C256

AT24C256 EEPROM memiliki fitur berikut:

  • Kapasitas Penyimpanan: 32 kb (256 kbit = 32.768 byte)
  • Protokol Komunikasi: I2c
  • Alamat I2C: Dapat dikonfigurasi antara 0x50 Dan 0x57 Menggunakan pin A0, A1, dan A2
  • Tegangan operasi: 2.5V hingga 5.5V

Pinout

Pin Fungsi
A0, A1, A2 Konfigurasi Alamat I2C
Vcc Catu daya (5V)
Gnd Tanah
SDA Jalur data I2C
Scl I2C Clock Line
WP Perlindungan Tulis (Opsional, Hubungkan ke GND Untuk Mengaktifkan Akses Tulis)

Langkah 2: Kabel AT24C256 ke Arduino

Hubungkan AT24C256 ke Arduino sebagai berikut:

Pin AT24C256 Pin Arduino
Vcc 5v
Gnd Gnd
SDA A4
Scl A5
WP Gnd

Catatan: Jika menggunakan modul dengan resistor pull-up, tidak diperlukan resistor tambahan. Untuk IC mandiri, gunakan resistor pull-up 4.7kΩ pada garis SDA dan SCL.


Langkah 3: Instal perpustakaan yang diperlukan

Untuk menyederhanakan bekerja dengan AT24C256, instal perpustakaan "kawat" (dibangun ke dalam IDE Arduino) dan perpustakaan "EEPROM_AT24C256".

Langkah -langkah untuk menginstal perpustakaan EEPROM_AT24C256:

  1. Buka Ide Arduino.
  2. Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
  3. Cari "at24c256" dan klik Memasang.

Langkah 4: Unggah kode

Contoh: Menulis dan Membaca Data

Kode ini menunjukkan cara menulis string ke EEPROM dan kemudian membacanya kembali:

#include <Wire.h>
#include <AT24C256.h>

AT24C256 eeprom(0x50); // Initialize EEPROM with default I2C address

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("AT24C256 EEPROM Test");

  // Write data to EEPROM
  String dataToWrite = "Hello, EEPROM!";
  Serial.print("Writing to EEPROM: ");
  Serial.println(dataToWrite);
  for (int i = 0; i < dataToWrite.length(); i++) {
    eeprom.writeByte(i, dataToWrite[i]);
  }

  delay(1000); // Wait for data to be written

  // Read data from EEPROM
  Serial.println("Reading from EEPROM:");
  for (int i = 0; i < dataToWrite.length(); i++) {
    char c = eeprom.readByte(i);
    Serial.print(c);
  }
  Serial.println();
}

void loop() {
  // Nothing to do here
}

Langkah 5: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  3. Unggah kode dengan mengklik Mengunggah.
  4. Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke 9600.
  5. Amati data tertulis dan baca yang ditampilkan di monitor serial.

Opsional: Menghapus data

Untuk menghapus eeprom, tulis 0xFF ke semua lokasi memori:

for (int i = 0; i < 32768; i++) {
  eeprom.writeByte(i, 0xFF);
}

Aplikasi AT24C256

  1. Menyimpan log data sensor
  2. Pengaturan Konfigurasi untuk Perangkat IoT
  3. Menyimpan preferensi pengguna
  4. Membangun Sistem Pencatat Data

Pemecahan masalah

  • Tidak ada komunikasi: Periksa kabel I2C dan pastikan alamat I2C yang benar digunakan.
  • Data yang salah baca: Pastikan proses menulis telah selesai sebelum membaca.
  • Tulis Perlindungan Diaktifkan: Verifikasi pin WP terhubung ke GND untuk akses tulis.

Kesimpulan

Anda telah berhasil menghubungkan AT24C256 EEPROM dengan Arduino, memungkinkan Anda untuk menyimpan dan mengambil data yang tidak mudah menguap dalam proyek Anda. Eksperimen dengan kemampuannya untuk membuat sistem pencerahan data, penyimpanan konfigurasi, atau aplikasi yang bergantung pada memori lainnya!

Tinggalkan komentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.