Hur man använder AT24C256 EEPROM med Arduino

How to Use the AT24C256 EEPROM with Arduino

AT24C256 är en 256 kilobit EEPROM som tillhandahåller icke-flyktig lagring, vilket gör att data kan fortsätta även när strömmen är avstängd. Den kommunicerar med en mikrokontroller via I2C -protokollet, vilket gör det idealiskt för lagring av sensordata, konfigurationer eller annan information i Arduino -projekt. Denna handledning kommer att vägleda dig genom gränssnitt och använda AT24C256 med Arduino.


Vad du behöver

  1. AT24C256 EEPROM -modul eller IC
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. Breadboard och jumpertrådar
  4. En dator med Arduino Ide installerad

Steg 1: Förstå AT24C256

AT24C256 EEPROM har följande funktioner:

  • Lagringskapacitet: 32 kb (256 kbits = 32,768 byte)
  • Kommunikationsprotokoll: I2c
  • I2C -adress: Konfigurerbar mellan 0x50 och 0x57 Använda A0-, A1- och A2 -stift
  • Driftspänning: 2,5V till 5,5V

Pinout

Stift Fungera
A0, A1, A2 I2c adresskonfiguration
Vcc Strömförsörjning (5V)
Gard Jord
SDA I2C -datalinjen
SCL I2c klocklinje
Wp Skrivskydd (valfritt, anslut till GND för att aktivera skrivåtkomst)

Steg 2: Kopplar AT24C256 till Arduino

Anslut AT24C256 till Arduino enligt följande:

At24c256 stift Arduinosnål
Vcc 5V
Gard Gard
SDA A4
SCL A5
Wp Gard

Notera: Om du använder en modul med pull-up-motstånd behövs inga ytterligare motstånd. För fristående ICS, använd 4,7 kΩ pull-up-motstånd på SDA- och SCL-linjerna.


Steg 3: Installera det nödvändiga biblioteket

För att förenkla arbetet med AT24C256, installera "Wire" -biblioteket (inbyggt i Arduino IDE) och "EEPROM_AT24C256" -biblioteket.

Steg för att installera EEPROM_AT24C256 Library:

  1. Öppna Arduino IDE.
  2. Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
  3. Sök efter "AT24C256" och klicka Installera.

Steg 4: Ladda upp koden

Exempel: Skriva och läsa data

Den här koden visar hur man skriver en sträng till EEPROM och läser sedan tillbaka den:

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

Steg 5: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Observera de skriftliga och läsdata som visas i seriell monitor.

Valfritt: radering av data

För att radera EEPROM, skriv 0xFF till alla minnesplatser:

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

Applikationer av AT24C256

  1. Lagring av sensordataloggar
  2. Konfigurationsinställningar för IoT -enheter
  3. Lagring av användarinställningar
  4. Bygga dataloggningssystem

Felsökning

  • Ingen kommunikation: Kontrollera I2C -ledningar och se till att rätt I2C -adress används.
  • Felaktig data Läs: Se till att skrivprocessen har slutförts innan du läser.
  • Skrivskydd aktiverat: Verifiera att WP -stiftet är anslutet till GND för skrivåtkomst.

Slutsats

Du har framgångsrikt interfogat AT24C256 EEPROM med Arduino, så att du kan lagra och hämta icke-flyktiga data i dina projekt. Experimentera med sina funktioner för att skapa dataloggningssystem, konfigurationslagring eller andra minnesberoende applikationer!

Lämna en kommentar

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.