Kamis, 13 Juni 2024

Cara Menggunakan IC EEPROM AT24C128/256 dengan Arduino

Modul EEPROM I2C AT24C256

Apa itu IC AT24C128/256

IC AT24Cxxx merupakan komponen elektronika dari Atmel yang berfungsi sebagai EEPROM (Electrically Erasable Programmable Read Only Memory). Kapasitas penyimpanan untuk IC AT24Cxxx bervariasi tergantung modelnya. Untuk model 128 memiliki kapasitas 16 KB dan model 256 memiliki kapasitas 32 KB.

Jual Modui AT24C256

Struktur Penyimpanan AT24Cxxx

Kapasitas penyimpanan 32 KB pada IC AT24C256 mengacu pada jumlah total data yang dapat disimpan dalam IC tersebut. 1 kilobyte sama dengan 1024 byte. Jika IC AT24C256 memiliki kapasitas 32 KB, berarti IC tersebut mampu menyimpan hingga 32 x 1024 = 32768 byte data.

EEPROM seperti AT24C256 menyimpan data dalam blok-blok kecil yang disebut halaman (pages). Ukuran halaman untuk EEPROM ini biasanya adalah 64 byte. Jadi, jika dengan kapasitas 32 KB akan memiliki 512 halaman (32768 byte / 64 byte per halaman).

Deskripsi pin IC AT24C256




Pin

Deskripsi

A0

Address input

A1

Address input

A2

Address input

GND

Ground

SDA

Serial Data

SCL

Serial Clock Input

WP

Write Protect

VCC

Power Supply

Bagaimana Operasional AT24Cxxx

IC AT24C256 dapat diakses melalui protokol komunikasi I2C. Device address biasanya bersifat tetap, bisa dicek menggunakan program example yaitu I2C Scanner. Karena AT24C256 memiliki kapasitas 32 KB, maka dibutuhkan 2 byte untuk mengirimkan alamat penuh (15 bit). Untuk menulis data (write) perlu melakukan pengiriman serangkaian byte berikut, 

Device Address >> Data Address (byte pertama) >> Data Address (byte kedua) >> DATA.

Cara menulis data pada AT24C256

sedangkan untuk membaca (read), hanya perlu mengirimkan Device Address >> Data Address (2 byte). 
Dibutuhkan waktu jeda 5 ms pada setiap perintah menulis (write) atau membaca data(read).

Contoh Implementasi AT24C256 dengan Arduino

Rangkaian Skematik AT24C256 dengan arduino

Cara merangkai AT24C256 dengan Arduino

Code/Program AT24C256 dengan Arduino

Code dibawah merupakan fungsi untuk membaca dan menulis data ke memory saja. Masih perlu dilengkapi dengan penambahan library I2C (#include Wire.h). Penambahan setup I2C di void setup() (Wire.begin). Serta pemanggilan fungsi itu sendiri. Perlu diingat maksimal value yang dapat disimpan pada setiap address adalah 1 byte (8 bit), sehingga value maksimal yang mampu disimpan adalah '255'. Apabila ingin menyimpan value lebih dari itu, gunakan 2 address dan bagi value menjadi 2 (MSB & LSB).

Write Data 
Fungsi Write Value EEPROM I2C

Read Data
Fungsi Read EEPROM I2C

Tidak ada komentar:

Posting Komentar