Az AT24C256 EEPROM használata a Raspberry PI -vel

Using the AT24C256 EEPROM with the Raspberry Pi

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

  1. Málna PI (Bármely modell GPIO és I2C támogatással, például PI 3, PI 4)
  2. AT24C256 EEPROM modul
  3. Kenyérlemez és jumper vezetékek
  4. 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

  1. Nyissa meg a Raspberry PI konfigurációs eszközt:
    sudo raspi-config
    
  2. Navigál Interfész opciók> i2c és engedélyezze.
  3. Indítsa újra a Raspberry Pi -t:
    sudo reboot
    

3. lépés: Telepítse a szükséges könyvtárakat

  1. Frissítse a Raspberry Pi csomaglistáját:
    sudo apt update && sudo apt upgrade -y
    
  2. Telepítse a szükséges I2C eszközöket és a Python könyvtárakat:
    sudo apt install -y i2c-tools python3-smbus
    
  3. Ellenőrizze, hogy az AT24C256 EEPROM észlelhető -e az I2C buszon:
    sudo i2cdetect -y 1
    
    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).

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

  1. Adatnaplózás: Az érzékelő adatait idővel tárolja az offline hozzáférés érdekében.
  2. Konfigurációs tárolás: Mentse el a rendszerbeállításokat vagy a kalibrációs adatokat.
  3. Biztonságos hitelesítés: Tárolja a titkosított kulcsokat vagy a hitelesítési tokeneket.
  4. IOT projektek: Engedélyezze a tartós tárolást a tárgyak internete alkalmazásokhoz.

Hibaelhárítás

  1. 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.
  2. 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.
  3. 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 van pip3 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! 🚀

Hagyj egy megjegyzést

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.