Az AT24C256 egy 256 kilobit EEPROM, amely nem illékony tárolást biztosít, lehetővé téve az adatok fennmaradását, még akkor is, ha az áramellátás ki van kapcsolva. Az I2C protokollon keresztül kommunikál egy mikrokontrollerrel, így ideális az érzékelő adatok, konfigurációk vagy egyéb információk tárolására az Arduino projektekben. Ez az oktatóanyag vezeti Önt az AT24C256 felületének az Arduinóval.
Mire lesz szüksége
- AT24C256 EEPROM modul vagy IC
- Arduino Board (például Uno, Mega, Nano)
- Kenyérlemez és jumper vezetékek
- Egy számítógép, amelyen az Arduino IDE telepített
1. lépés: Az AT24C256 megértése
Az AT24C256 EEPROM a következő funkciókkal rendelkezik:
- Tárolási kapacitás: 32 KB (256 KBIT = 32 768 bájt)
- Kommunikációs protokoll: I2C
-
I2C cím: Konfigurálható között
0x50
és0x57
A0, A1 és A2 csapok felhasználásával - Működési feszültség: 2,5 V -tól 5,5 V -ig
Poggyász
Csap | Funkció |
---|---|
A0, A1, A2 | I2C címkonfiguráció |
VCC | Tápegység (5V) |
GND | Föld |
SDA | I2C adatsor |
SCL | I2C óravonal |
WP | Írjon védelmet (opcionális, csatlakozzon a GND -hez az íráshoz való hozzáférés engedélyezéséhez) |
2. lépés: Az AT24C256 vezetékesítése Arduino -ra
Csatlakoztassa az AT24C256 -ot az Arduino -hoz az alábbiak szerint:
AT24C256 PIN | Arduino Pin |
---|---|
VCC | 5 V -os |
GND | GND |
SDA | A4 |
SCL | A5 |
WP | GND |
Jegyzet: Ha pull-up ellenállásokkal rendelkező modult használ, akkor nincs szükség további ellenállásra. Az önálló ICS-hez használjon 4,7KΩ húzó ellenállást az SDA és az SCL vonalakon.
3. lépés: Telepítse a szükséges könyvtárat
Az AT24C256 -val való munka egyszerűsítéséhez telepítse a "Wire" könyvtárat (beépítve az Arduino IDE -be) és az "EEPROM_AT24C256" könyvtárat.
Az EEPROM_AT24C256 könyvtár telepítéséhez szükséges lépések:
- Nyissa meg az Arduino IDE -t.
- Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
- Keresse meg az "AT24C256" -t, és kattintson Beilleszt.
4. lépés: Töltse fel a kódot
Példa: Az adatok írása és olvasása
Ez a kód bemutatja, hogyan lehet karakterláncot írni az EEPROM -ra, majd visszaolvasni:
#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
}
5. lépés: Tesztelje a beállítást
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot kattintással Feltöltés.
- Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet
9600
. - Vegye figyelembe a soros monitorban megjelenített írásbeli és olvasási adatokat.
Opcionális: Az adatok törlése
Az EEPROM törléséhez írjon 0xFF
Minden memóriahelyre:
for (int i = 0; i < 32768; i++) {
eeprom.writeByte(i, 0xFF);
}
Az AT24C256 alkalmazásai
- Az érzékelő adatnaplóinak tárolása
- Konfigurációs beállítások az IoT eszközökhöz
- A felhasználói preferenciák tárolása
- Adatnapló rendszerek építése
Hibaelhárítás
- Nincs kommunikáció: Ellenőrizze az I2C vezetékeket, és ellenőrizze, hogy a helyes I2C címet használja.
- Helytelen adatok olvasása: Ellenőrizze, hogy az írási folyamat befejeződött -e az olvasás előtt.
- Az írásvédelem engedélyezve: Ellenőrizze, hogy a WP PIN -kód csatlakozik -e a GND -hez az íráshoz való hozzáféréshez.
Következtetés
Sikeresen összekapcsolja az AT24C256 EEPROM-ot az Arduino-val, lehetővé téve, hogy a projektjeiben a nem illékony adatok tárolását és letöltését. Kísérletezzen annak képességeivel, hogy hozzon létre adat-lakóhelyeket, konfigurációs tárolást vagy más memóriafüggő alkalmazásokat!