A AT24C256 egy I2C EEPROM (elektromosan eltörölhető, csak olvasható memória), amely lehetővé teszi a Raspberry Pi számára az adatok tárolását és letöltését is az energiaveszteség után. Ez az útmutató elmagyarázza, hogyan lehet a AT24C256 a Raspberry Pi -vel, beleértve a vezetékeket, az I2C engedélyezését és az adatok olvasását/írását a Python használatával.
Mire lesz szüksége
- Málna PI (Bármely modell GPIO és I2C támogatással, például PI 3, PI 4)
- AT24C256 EEPROM modul
- Kenyérlemez és jumper vezetékek
- Python telepítve a málna pi -n
1. lépés: Az AT24C256 huzalozása a Raspberry PI -hez
Az AT24C256 kommunikál a I2C protokoll.
Kapcsolatok
AT24C256 PIN | Málna pi tű |
---|---|
VCC | 3.3 V (1. érintkező) |
GND | Föld (6. érintkező) |
SDA | SDA (3. érintkező, GPIO2) |
SCL | SCL (5. érintkező, GPIO3) |
WP (írj védelem) | GND (az írásvédelem letiltása) |
2. lépés: Engedélyezze az I2C -t a Raspberry PI -n
- Nyissa meg a Raspberry PI konfigurációs eszközt:
sudo raspi-config
- Navigál Interfész opciók> i2c és engedélyezze.
- Indítsa újra a Raspberry Pi -t:
sudo reboot
3. lépés: Telepítse a szükséges könyvtárakat
- Frissítse a Raspberry Pi csomaglistáját:
sudo apt update && sudo apt upgrade -y
- Telepítse a szükséges I2C eszközöket és a Python könyvtárakat:
sudo apt install -y i2c-tools python3-smbus
- Ellenőrizze, hogy az AT24C256 EEPROM észlelhető -e az I2C buszon:
Az EEPROM -nak a következő címen kell megjelennie 0x50 (vagy egy másik cím az A0-A2 PIN-konfigurációk alapján).sudo i2cdetect -y 1
4. lépés: Adatok olvasása és írása az AT24C256 -ra
Az AT24C256 tárolja az adatokat 256 kb memória, és minden bájthoz a memóriakód segítségével érhető el.
Adatok írása az EEPROM -ra
import smbus2
import time
EEPROM_ADDRESS = 0x50 # Default I2C address of AT24C256
bus = smbus2.SMBus(1) # Use I2C bus 1
def write_byte(address, data):
bus.write_i2c_block_data(EEPROM_ADDRESS, address, [data])
time.sleep(0.05) # EEPROM needs time to write
# Write data (example: store 'A' at address 0x00)
write_byte(0x00, ord('A'))
print("Data written successfully!")
Adatok olvasása az EEPROM -ból
def read_byte(address):
return bus.read_byte_data(EEPROM_ADDRESS, address)
# Read the stored byte at address 0x00
stored_value = read_byte(0x00)
print(f"Stored Data: {chr(stored_value)}")
5. lépés: Az AT24C256 alkalmazásai
- Adatnaplózás: Az érzékelő adatait idővel tárolja az offline hozzáférés érdekében.
- Konfigurációs tárolás: Mentse el a rendszerbeállításokat vagy a kalibrációs adatokat.
- Biztonságos hitelesítés: Tárolja a titkosított kulcsokat vagy a hitelesítési tokeneket.
- IOT projektek: Engedélyezze a tartós tárolást a tárgyak internete alkalmazásokhoz.
Hibaelhárítás
-
Az EEPROM -ot nem észlelték:
- Ellenőrizze a vezetékeket és erősítse meg az SDA/SCL csatlakozásokat.
- Fut
sudo i2cdetect -y 1
Az EEPROM I2C címének igazolására.
-
Helytelen olvasási/írási műveletek:
- Biztosít Írja meg a Protect (WP) az földelt Az írás engedélyezése.
- Bemutatja a késéseket (
time.sleep(0.05)
) annak érdekében, hogy az EEPROM írási műveletek befejeződhessenek.
-
I2C kommunikációs hibák:
- Ellenőrizze, hogy vannak -e ellentmondásos I2C címek a buszon.
- Biztosít
smbus2
megfelelően telepítve vanpip3 install smbus2
.
Következtetés
Az AT24C256 EEPROM egy egyszerű, mégis erőteljes út a Tárolja az adatokat kitartóan egy málna pi -n. Függetlenül attól Adatnaplózás, tárolási beállítások vagy IoT alkalmazások, Ez az útmutató biztosítja az alapvető ismereteket, amelyek szükségesek az EEPROM tárolás hatékony kölcsönhatásához. Kísérletezzen a nagyobb adatkészletek olvasásával/írásával, hogy felfedezze annak teljes potenciálját! 🚀