L'AT24C256 è una EEPROM da 256 kilobit che fornisce un'archiviazione non volatile, consentendo ai dati di persistere anche quando la potenza è disattivata. Comunica con un microcontrollore tramite il protocollo I2C, rendendolo ideale per la memorizzazione di dati dei sensori, configurazioni o altre informazioni nei progetti Arduino. Questo tutorial ti guiderà attraverso l'interfaccia e l'utilizzo di AT24C256 con Arduino.
Cosa avrai bisogno
- Modulo EEPROM AT24C256 o IC
- Arduino Board (ad es. Uno, Mega, Nano)
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
Passaggio 1: Comprensione dell'AT24C256
L'EEPROM AT24C256 ha le seguenti caratteristiche:
- Capacità di archiviazione: 32 kb (256 kbit = 32.768 byte)
- Protocollo di comunicazione: I2c
-
Indirizzo I2C: Configurabile tra
0x50
E0x57
Usando i pin A0, A1 e A2 - Tensione operativa: Da 2,5 V a 5,5 V.
Pinout
Spillo | Funzione |
---|---|
A0, A1, A2 | Configurazione dell'indirizzo I2C |
VCC | Alimentazione (5V) |
GND | Terra |
SDA | Linea di dati I2C |
SCL | Linea di orologio i2c |
Wp | Protezione da scrittura (opzionale, connettersi a GND per abilitare l'accesso a scrittura) |
Passaggio 2: Cablaggio dell'AT24C256 ad Arduino
Collegare l'AT24C256 all'Arduino come segue:
Pin AT24C256 | Arduino Pin |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 |
SCL | A5 |
Wp | GND |
Nota: Se si utilizza un modulo con resistori di pull-up, non sono necessari resistori aggiuntivi. Per ICS autonomi, utilizzare resistori pull-up da 4.7kΩ sulle linee SDA e SCL.
Passaggio 3: installare la libreria richiesta
Per semplificare il lavoro con la libreria AT24C256, installare la libreria "Wire" (integrata nell'IDE Arduino) e la libreria "EEPROM_AT24C256".
Passaggi per installare la libreria EEPROM_AT24C256:
- Apri l'IDE Arduino.
- Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
- Cerca "AT24C256" e fai clic su Installare.
Passaggio 4: caricare il codice
Esempio: dati di scrittura e lettura
Questo codice dimostra come scrivere una stringa all'EEPROM e poi riatterlo:
#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
}
Passaggio 5: testare l'installazione
- Collega l'Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
- Carica il codice facendo clic Caricamento.
- Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su
9600
. - Osservare i dati scritti e letti visualizzati nel monitor seriale.
Opzionale: cancellare i dati
Per cancellare l'Eeprom, scrivere 0xFF
a tutte le posizioni di memoria:
for (int i = 0; i < 32768; i++) {
eeprom.writeByte(i, 0xFF);
}
Applicazioni dell'AT24C256
- Archiviazione dei registri dei dati del sensore
- Impostazioni di configurazione per dispositivi IoT
- Memorizzazione delle preferenze dell'utente
- Costruire sistemi di logging dei dati
Risoluzione dei problemi
- Nessuna comunicazione: Controlla il cablaggio I2C e assicurati che venga utilizzato l'indirizzo I2C corretto.
- Dati errati lettura: Assicurarsi che il processo di scrittura sia completato prima della lettura.
- Protezione da scrittura abilitata: Verificare che il pin WP sia collegato a GND per l'accesso alla scrittura.
Conclusione
Hai interfacciato con successo l'EEPROM AT24C256 con Arduino, permettendoti di archiviare e recuperare dati non volatili nei tuoi progetti. Sperimenta le sue capacità per creare sistemi di blocco dati, archiviazione di configurazione o altre applicazioni dipendenti dalla memoria!