Käyttämällä AT24C256 EEPROM Raspberry Pi: n kanssa

Using the AT24C256 EEPROM with the Raspberry Pi

Se AT24C256 on I2C-EEPROM (sähköisesti poistettava ohjelmoitava vain luku -muisti), jonka avulla Raspberry Pi voi tallentaa ja hakea tietoja myös virranhäviön jälkeen. Tämä opas selittää kuinka rajata AT24C256 Raspberry PI: n kanssa, mukaan lukien johdotus, I2C: n mahdollistaminen ja tietojen lukeminen/kirjoittaminen Pythonin avulla.


Mitä tarvitset

  1. Raspberry Pi (Mikä tahansa malli, jolla on GPIO- ja I2C -tuki, esim. Pi 3, pi 4)
  2. AT24C256 EEPROM -moduuli
  3. Leipälevy- ja hyppyjohdot
  4. Python asennettu Raspberry Pi

Vaihe 1: AT24C256: n johdotus Raspberry PI: hen

AT24C256 kommunikoi käyttämällä I2C -protokolla.

Yhteydet

AT24C256 -nasta Raspberry Pi -tappi
VCC 3,3 V (nasta 1)
Hölynpöly Maa (nasta 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (nasta 5, GPIO3)
WP (kirjoita suojaa) GND (poista kirjoitussuojaus käytöstä)

Vaihe 2: Ota I2c käyttöön Raspberry Pi

  1. Avaa Raspberry Pi -määritystyökalu:
    sudo raspi-config
    
  2. Siirtyä jhk Käyttöliittymävaihtoehdot> I2C ja ota se käyttöön.
  3. Käynnistä Raspberry Pi uudelleen:
    sudo reboot
    

Vaihe 3: Asenna vaadittavat kirjastot

  1. Päivitä Raspberry Pi: n pakettiluettelo:
    sudo apt update && sudo apt upgrade -y
    
  2. Asenna tarvittavat I2C -työkalut ja Python -kirjastot:
    sudo apt install -y i2c-tools python3-smbus
    
  3. Varmista, että AT24C256 EEPROM havaitaan I2C -väylässä:
    sudo i2cdetect -y 1
    
    EEPROM: n pitäisi ilmestyä 0x50 (tai muu osoite, joka perustuu A0-A2-PIN-kokoonpanoihin).

Vaihe 4: Tietojen lukeminen ja kirjoittaminen AT24C256: lle

AT24C256 tallentaa tietoja 256 kt muisti, ja jokaiseen tavuun pääsee muistiosoitteensa avulla.

Tietojen kirjoittaminen EEPROM: lle

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!")

Lukeminen EEPROM -tietoista

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)}")

Vaihe 5: AT24C256: n sovellukset

  1. Tietojen kirjaus: Tallenna anturitiedot ajan myötä offline -käyttöoikeuden saavuttamiseksi.
  2. Kokoonpanon tallennus: Tallenna järjestelmän asetukset tai kalibrointitiedot.
  3. Turvallinen todennus: Säilytä salattuja avaimia tai todennusmerkkejä.
  4. Internet -projektit: Ota jatkuva tallennustila esineiden Internet -sovelluksille.

Vianetsintä

  1. EEPROMia ei havaittu:

    • Tarkista johdotus ja vahvista SDA/SCL -yhteydet.
    • Juoksua sudo i2cdetect -y 1 EEPROM: n I2C -osoitteen tarkistamiseksi.
  2. Virheelliset luku-/kirjoitustoiminnot:

    • Varmistaa Kirjoita suojaus (WP) on maadoitettu Ottaa kirjoittamisen käyttöön.
    • Esitellä viiveitä (time.sleep(0.05)) antaa EEPROM -kirjoitustoimintojen suorittamisen.
  3. I2C -viestintävirheet:

    • Tarkista ristiriitaiset I2C -osoitteet linja -autolla.
    • Varmistaa smbus2 on asennettu oikein käyttämällä pip3 install smbus2.

Johtopäätös

AT24C256 EEPROM on yksinkertainen mutta tehokas tapa Tallenna tiedot jatkuvasti Vadelmapillä. Onko Tietojen kirjaaminen, asetusten tallentaminen tai Internet -sovellukset, Tämä opas tarjoaa perustiedot, joita tarvitaan vuorovaikutukseen EEPROM -tallennuksen kanssa tehokkaasti. Kokeile suurempien tietojoukkojen lukemista/kirjoittamista sen koko potentiaalin tutkimiseksi! 🚀

Jätä kommentti

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.