रास्पबेरी पाई के साथ AT24C256 EEPROM का उपयोग करना

Using the AT24C256 EEPROM with the Raspberry Pi

द AT24C256 एक I2C EEPROM (विद्युत रूप से इरेज़ेबल प्रोग्रामेबल रीड-ओनली मेमोरी) है जो रास्पबेरी पाई को बिजली की हानि के बाद भी डेटा को संग्रहीत और पुनर्प्राप्त करने की अनुमति देता है. यह मार्गदर्शिका बताती है कि इंटरफ़ेस कैसे करें AT24C256 रास्पबेरी पाई के साथ, वायरिंग सहित, I2C को सक्षम करना, और पायथन का उपयोग करके डेटा पढ़ना / लिखना.


आपको क्या चाहिए

  1. रास्पबेरी पाई (जीपीआईओ और आई 2 सी समर्थन के साथ कोई भी मॉडल, जैसे, पाई 3, पाई 4)
  2. AT24C256 EEPROM मॉड्यूल
  3. ब्रेडबोर्ड और जम्पर तारों
  4. पायथन स्थापित रास्पबेरी पाई पर

चरण 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 सक्षम करें

  1. Raspberry Pi कॉन्फ़िगरेशन टूल खोलें:
    sudo raspi-config
    
  2. नेविगेट करें इंटरफ़ेस विकल्प > I2C और इसे सक्षम करें।
  3. रास्पबेरी पाई को रीबूट करें:
    sudo reboot
    

चरण 3: आवश्यक लाइब्रेरीज़ इंस्टॉल करें

  1. अपनी रास्पबेरी पाई की पैकेज सूची अपडेट करें:
    sudo apt update && sudo apt upgrade -y
    
  2. आवश्यक I2C उपकरण और पायथन लाइब्रेरी स्थापित करें:
    sudo apt install -y i2c-tools python3-smbus
    
  3. सत्यापित करें कि I2C बस पर AT24C256 EEPROM का पता लगाया गया है:
    sudo i2cdetect -y 1
    
    EEPROM 0x50 (या A0-A2 पिन कॉन्फ़िगरेशन के आधार पर किसी अन्य पते) पर दिखाई देना चाहिए।

चरण 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 के अनुप्रयोग

  1. डेटा लॉगिंग: ऑफ़लाइन एक्सेस के लिए समय के साथ सेंसर डेटा संग्रहीत करें।
  2. कॉन्फ़िगरेशन संग्रहण: सिस्टम सेटिंग्स या अंशांकन डेटा सहेजें.
  3. सुरक्षित प्रमाणीकरण: एन्क्रिप्टेड कुंजी या प्रमाणीकरण टोकन स्टोर करें.
  4. IoT प्रोजेक्ट्स: इंटरनेट ऑफ थिंग्स अनुप्रयोगों के लिए लगातार भंडारण सक्षम करें.

समस्या निवारण

  1. EEPROM का पता नहीं चला:

    • वायरिंग की जाँच करें और SDA / SCL कनेक्शन की पुष्टि करें.
    • Daud sudo i2cdetect -y 1 EEPROM के I2C पते को सत्यापित करने के लिए.
  2. गलत पढ़ें / लिखें संचालन:

    • सुनिश्चित करें सुरक्षा लिखें (WP) है grounded लेखन को सक्षम करने के लिए.
    • देरी का परिचय दें (time.sleep(0.05)) EEPROM को संचालन को पूरा करने की अनुमति देने के लिए.
  3. I2C संचार त्रुटियां:

    • बस में I2C के परस्पर विरोधी पतों की जाँच करें.
    • सुनिश्चित करें smbus2 उपयोग करके ठीक से स्थापित किया गया है pip3 install smbus2.

निष्कर्ष

AT24C256 EEPROM एक सरल लेकिन शक्तिशाली तरीका है लगातार डेटा स्टोर करें एक रास्पबेरी पाई पर. के लिए है या नहीं डेटा लॉगिंग, भंडारण सेटिंग्स, या IoT अनुप्रयोग, यह मार्गदर्शिका EEPROM भंडारण के साथ प्रभावी ढंग से बातचीत करने के लिए आवश्यक मूलभूत ज्ञान प्रदान करती है. इसकी पूरी क्षमता का पता लगाने के लिए बड़े डेटासेट पढ़ने / लिखने के साथ प्रयोग करें! 🚀

एक टिप्पणी छोड़ें

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.