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
- Raspberry Pi (Mikä tahansa malli, jolla on GPIO- ja I2C -tuki, esim. Pi 3, pi 4)
- AT24C256 EEPROM -moduuli
- Leipälevy- ja hyppyjohdot
- 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
- Avaa Raspberry Pi -määritystyökalu:
sudo raspi-config
- Siirtyä jhk Käyttöliittymävaihtoehdot> I2C ja ota se käyttöön.
- Käynnistä Raspberry Pi uudelleen:
sudo reboot
Vaihe 3: Asenna vaadittavat kirjastot
- Päivitä Raspberry Pi: n pakettiluettelo:
sudo apt update && sudo apt upgrade -y
- Asenna tarvittavat I2C -työkalut ja Python -kirjastot:
sudo apt install -y i2c-tools python3-smbus
- Varmista, että AT24C256 EEPROM havaitaan I2C -väylässä:
 EEPROM: n pitäisi ilmestyä 0x50 (tai muu osoite, joka perustuu A0-A2-PIN-kokoonpanoihin).sudo i2cdetect -y 1
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
- Tietojen kirjaus: Tallenna anturitiedot ajan myötä offline -käyttöoikeuden saavuttamiseksi.
- Kokoonpanon tallennus: Tallenna järjestelmän asetukset tai kalibrointitiedot.
- Turvallinen todennus: Säilytä salattuja avaimia tai todennusmerkkejä.
- Internet -projektit: Ota jatkuva tallennustila esineiden Internet -sovelluksille.
Vianetsintä
- 
EEPROMia ei havaittu: - Tarkista johdotus ja vahvista SDA/SCL -yhteydet.
- Juoksua sudo i2cdetect -y 1EEPROM: n I2C -osoitteen tarkistamiseksi.
 
- 
Virheelliset luku-/kirjoitustoiminnot: - Varmistaa Kirjoita suojaus (WP) on maadoitettu Ottaa kirjoittamisen käyttöön.
- Esitellä viiveitä (time.sleep(0.05)) antaa EEPROM -kirjoitustoimintojen suorittamisen.
 
- 
I2C -viestintävirheet: - Tarkista ristiriitaiset I2C -osoitteet linja -autolla.
- Varmistaa smbus2on 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! 🚀
 
             
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  