L'AT24C256 est un EEPROM de 256 kilobit qui fournit un stockage non volatile, permettant aux données de persister même lorsque l'alimentation est désactivée. Il communique avec un microcontrôleur via le protocole I2C, ce qui le rend idéal pour stocker des données de capteurs, des configurations ou d'autres informations dans des projets Arduino. Ce tutoriel vous guidera à travers l'interfaçage et l'utilisation de l'AT24C256 avec Arduino.
Ce dont vous aurez besoin
- Module EEPROM AT24C256 ou IC
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre l'AT24C256
L'EEPROM AT24C256 a les caractéristiques suivantes:
- Capacité de stockage: 32 kb (256 kbits = 32 768 octets)
- Protocole de communication: I2C
-
Adresse I2C: Configurable entre
0x50
et0x57
Utilisation des broches A0, A1 et A2 - Tension de fonctionnement: 2,5 V à 5,5 V
Brochage
Épingle | Fonction |
---|---|
A0, A1, A2 | Configuration d'adresse I2C |
VCC | Alimentation (5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
WP | Protection en écriture (facultatif, connectez-vous à GND pour activer l'accès en écriture) |
Étape 2: Câblage de l'AT24C256 à Arduino
Connectez l'AT24C256 à l'Arduino comme suit:
PIN AT24C256 | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
WP | GND |
Note: Si vous utilisez un module avec des résistances de traction, aucune résistance supplémentaire n'est nécessaire. Pour les CI autonomes, utilisez des résistances de traction de 4,7kΩ sur les lignes SDA et SCL.
Étape 3: Installez la bibliothèque requise
Pour simplifier le travail avec l'AT24C256, installez la bibliothèque "Wire" (intégrée dans la bibliothèque Arduino) et la bibliothèque "EEPROM_AT24C256".
Étapes pour installer la bibliothèque EEPROM_AT24C256:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "AT24C256" et cliquez Installer.
Étape 4: Téléchargez le code
Exemple: données d'écriture et de lecture
Ce code montre comment écrire une chaîne à l'EEPROM, puis la lire:
#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
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Observez les données écrites et lues affichées dans le moniteur série.
Facultatif: effacer les données
Pour effacer l'EEPROM, écrivez 0xFF
à tous les emplacements de mémoire:
for (int i = 0; i < 32768; i++) {
eeprom.writeByte(i, 0xFF);
}
Applications de l'AT24C256
- Stockage des journaux de données du capteur
- Paramètres de configuration pour les appareils IoT
- Stocker les préférences des utilisateurs
- Construire des systèmes de loging des données
Dépannage
- Aucune communication: Vérifiez le câblage I2C et assurez-vous que l'adresse I2C correcte est utilisée.
- Données incorrectes Lire: Assurez-vous que le processus d'écriture est terminé avant la lecture.
- Protection en écriture activée: Vérifiez que la broche WP est connectée à GND pour l'accès en écriture.
Conclusion
Vous avez réussi à interfacer l'EEPROM AT24C256 avec Arduino, vous permettant de stocker et de récupérer des données non volatiles dans vos projets. Expérimentez avec ses capacités pour créer des systèmes de blocage des données, un stockage de configuration ou d'autres applications dépendantes de la mémoire!