Cum se folosește Eeprom AT24C256 cu Arduino

How to Use the AT24C256 EEPROM with Arduino

AT24C256 este un EEPROM de 256 de kilobit care oferă stocare non-volatilă, permițând datelor să persiste chiar și atunci când puterea este oprită. Comunică cu un microcontroller prin protocolul I2C, ceea ce îl face ideal pentru stocarea datelor senzorului, configurațiilor sau alte informații în proiectele Arduino. Acest tutorial vă va ghida prin interfață și utilizarea AT24C256 cu Arduino.


Ce vei avea nevoie

  1. AT24C256 Modul EEPROM sau IC
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea AT24C256

EEPROM AT24C256 are următoarele caracteristici:

  • Capacitate de stocare: 32 kb (256 kbits = 32.768 octeți)
  • Protocol de comunicare: I2c
  • Adresa I2C: Configurabil între 0x50 şi 0x57 folosind pini A0, A1 și A2
  • Tensiune de funcționare: 2,5V până la 5.5V

Pinout

Ac Funcţie
A0, A1, A2 Configurarea adresei I2C
VCC Sursă de alimentare (5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C
WP Protecție de scriere (opțional, conectați -vă la GND pentru a activa accesul la scriere)

Pasul 2: Cablarea AT24C256 către Arduino

Conectați AT24C256 la Arduino după cum urmează:

AT24C256 PIN Pinul Arduino
VCC 5V
GND GND
SDA A4
SCL A5
WP GND

Nota: Dacă utilizați un modul cu rezistențe de tragere, nu sunt necesare rezistențe suplimentare. Pentru IC-uri autonome, utilizați rezistențe de tracțiune de 4,7kΩ pe liniile SDA și SCL.


Pasul 3: Instalați biblioteca necesară

Pentru a simplifica lucrul cu AT24C256, instalați biblioteca „Wire” (încorporată în IDE Arduino) și biblioteca „EEPROM_AT24C256”.

Pași pentru instalarea bibliotecii EEPROM_AT24C256:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „AT24C256” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Exemplu: scrierea și citirea datelor

Acest cod demonstrează cum să scrieți un șir în EEPROM și apoi să -l citiți înapoi:

#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
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Observați datele scrise și citite afișate în monitorul serial.

Opțional: ștergerea datelor

Pentru a șterge eepromul, scrie 0xFF la toate locațiile de memorie:

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

Aplicațiile AT24C256

  1. Stocarea jurnalelor de date senzor
  2. Setări de configurare pentru dispozitivele IoT
  3. Stocarea preferințelor utilizatorului
  4. Construirea sistemelor de logare a datelor

Depanare

  • Fără comunicare: Verificați cablarea I2C și asigurați -vă că se folosește adresa I2C corectă.
  • Date incorecte citite: Asigurați -vă că procesul de scriere a fost finalizat înainte de citire.
  • Protecția scrierii activate: Verificați Pinul WP este conectat la GND pentru acces la scriere.

Concluzie

Ați interfațat cu succes AT24C256 EEPROM cu Arduino, permițându-vă să stocați și să recuperați date non-volatile în proiectele dvs. Experimentați cu capacitățile sale de a crea sisteme de logare a datelor, stocare de configurare sau alte aplicații dependente de memorie!

Lasă un comentariu

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.