द AT24C256 एक I2C EEPROM (विद्युत रूप से इरेज़ेबल प्रोग्रामेबल रीड-ओनली मेमोरी) है जो रास्पबेरी पाई को बिजली की हानि के बाद भी डेटा को संग्रहीत और पुनर्प्राप्त करने की अनुमति देता है. यह मार्गदर्शिका बताती है कि इंटरफ़ेस कैसे करें AT24C256 रास्पबेरी पाई के साथ, वायरिंग सहित, I2C को सक्षम करना, और पायथन का उपयोग करके डेटा पढ़ना / लिखना.
आपको क्या चाहिए
- रास्पबेरी पाई (जीपीआईओ और आई 2 सी समर्थन के साथ कोई भी मॉडल, जैसे, पाई 3, पाई 4)
- AT24C256 EEPROM मॉड्यूल
- ब्रेडबोर्ड और जम्पर तारों
- पायथन स्थापित रास्पबेरी पाई पर
चरण 1: AT24C256 को Raspberry Pi से जोड़ना
AT24C256 निम्न का उपयोग करके संचार करता है I2C प्रोटोकॉल.
कनेक्शन
AT24C256 पिन | Raspberry Pi पिन |
---|---|
VCC | 3.3V (पिन 1) |
GND | ग्राउंड (पिन 6) |
SDA | SDA (पिन 3, GPIO2) |
SCL | SCL (पिन 5, GPIO3) |
WP (राइट प्रोटेक्ट) | GND (राइट प्रोटेक्शन अक्षम करें) |
चरण 2: Raspberry Pi पर I2C सक्षम करें
- Raspberry Pi कॉन्फ़िगरेशन टूल खोलें:
sudo raspi-config
- नेविगेट करें इंटरफ़ेस विकल्प > I2C और इसे सक्षम करें।
- रास्पबेरी पाई को रीबूट करें:
sudo reboot
चरण 3: आवश्यक लाइब्रेरीज़ इंस्टॉल करें
- अपनी रास्पबेरी पाई की पैकेज सूची अपडेट करें:
sudo apt update && sudo apt upgrade -y
- आवश्यक I2C उपकरण और पायथन लाइब्रेरी स्थापित करें:
sudo apt install -y i2c-tools python3-smbus
- सत्यापित करें कि I2C बस पर AT24C256 EEPROM का पता लगाया गया है:
EEPROM 0x50 (या A0-A2 पिन कॉन्फ़िगरेशन के आधार पर किसी अन्य पते) पर दिखाई देना चाहिए।sudo i2cdetect -y 1
चरण 4: AT24C256 पर डेटा पढ़ना और लिखना
AT24C256 डेटा को 256KB मेमोरी में संग्रहीत करता है, और प्रत्येक बाइट को उसके मेमोरी पते का उपयोग करके एक्सेस किया जाता है।
EEPROM पर डेटा लिखना
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!")
EEPROM से डेटा पढ़ना
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: AT24C256 के अनुप्रयोग
- डेटा लॉगिंग: ऑफ़लाइन एक्सेस के लिए समय के साथ सेंसर डेटा संग्रहीत करें।
- कॉन्फ़िगरेशन संग्रहण: सिस्टम सेटिंग्स या अंशांकन डेटा सहेजें.
- सुरक्षित प्रमाणीकरण: एन्क्रिप्टेड कुंजी या प्रमाणीकरण टोकन स्टोर करें.
- IoT प्रोजेक्ट्स: इंटरनेट ऑफ थिंग्स अनुप्रयोगों के लिए लगातार भंडारण सक्षम करें.
समस्या निवारण
-
EEPROM का पता नहीं चला:
- वायरिंग की जाँच करें और SDA / SCL कनेक्शन की पुष्टि करें.
- Daud
sudo i2cdetect -y 1
EEPROM के I2C पते को सत्यापित करने के लिए.
-
गलत पढ़ें / लिखें संचालन:
- सुनिश्चित करें सुरक्षा लिखें (WP) है grounded लेखन को सक्षम करने के लिए.
- देरी का परिचय दें (
time.sleep(0.05)
) EEPROM को संचालन को पूरा करने की अनुमति देने के लिए.
-
I2C संचार त्रुटियां:
- बस में I2C के परस्पर विरोधी पतों की जाँच करें.
- सुनिश्चित करें
smbus2
उपयोग करके ठीक से स्थापित किया गया हैpip3 install smbus2
.
निष्कर्ष
AT24C256 EEPROM एक सरल लेकिन शक्तिशाली तरीका है लगातार डेटा स्टोर करें एक रास्पबेरी पाई पर. के लिए है या नहीं डेटा लॉगिंग, भंडारण सेटिंग्स, या IoT अनुप्रयोग, यह मार्गदर्शिका EEPROM भंडारण के साथ प्रभावी ढंग से बातचीत करने के लिए आवश्यक मूलभूत ज्ञान प्रदान करती है. इसकी पूरी क्षमता का पता लगाने के लिए बड़े डेटासेट पढ़ने / लिखने के साथ प्रयोग करें! 🚀