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 1
EEPROM: 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
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! 🚀