ال AT24C256 هي I2C EEPROM (ذاكرة قابلة للبرمجة قابلة للبرمجة فقط) والتي تسمح لـ Raspberry PI بتخزين واسترداد البيانات حتى بعد فقدان الطاقة. يشرح هذا الدليل كيفية توصيل AT24C256 مع Raspberry Pi ، بما في ذلك الأسلاك ، وتمكين I2C ، وبيانات القراءة/الكتابة باستخدام Python.
ماذا ستحتاج
- التوت بي (أي نموذج مع دعم GPIO و I2C ، على سبيل المثال ، PI 3 ، PI 4)
- AT24C256 وحدة EEPROM
- الأسلاك الأسلاك والبلوز
- بيثون مثبت على التوت PI
الخطوة 1: توصيل AT24C256 إلى Raspberry Pi
يتصل AT24C256 باستخدام بروتوكول I2C.
الاتصالات
AT24C256 دبوس | التوت بي دبوس |
---|---|
VCC | 3.3V (دبوس 1) |
GND | الأرض (دبوس 6) |
SDA | SDA (PIN 3 ، GPIO2) |
SCL | SCL (PIN 5 ، GPIO3) |
WP (اكتب حماية) | GND (تعطيل حماية الكتابة) |
الخطوة 2: تمكين I2C على Raspberry Pi
- افتح أداة تكوين Raspberry Pi:
sudo raspi-config
- انتقل إلى خيارات الواجهة> i2c وتمكينها.
- أعد تشغيل Raspberry Pi:
sudo reboot
الخطوة 3: تثبيت المكتبات المطلوبة
- قم بتحديث قائمة حزمة Raspberry Pi الخاصة بك:
sudo apt update && sudo apt upgrade -y
- قم بتثبيت أدوات I2C الضرورية ومكتبات Python:
sudo apt install -y i2c-tools python3-smbus
- تحقق من أنه تم اكتشاف AT24C256 EEPROM على ناقل I2C:
يجب أن يظهر eeprom في 0x50 (أو عنوان آخر يعتمد على تكوينات دبوس A0-A2).sudo i2cdetect -y 1
الخطوة 4: قراءة وكتابة البيانات إلى AT24C256
يقوم AT24C256 بتخزين البيانات في 256 كيلو بايت من الذاكرة، ويتم الوصول إلى كل بايت باستخدام عنوان ذاكرته.
كتابة البيانات إلى 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
- تسجيل البيانات: تخزين بيانات المستشعر مع مرور الوقت للوصول دون اتصال.
- تخزين التكوين: حفظ إعدادات النظام أو بيانات المعايرة.
- مصادقة آمنة: تخزين المفاتيح المشفرة أو رموز المصادقة.
- مشاريع إنترنت الأشياء: تمكين التخزين المستمر لتطبيقات إنترنت الأشياء.
استكشاف الأخطاء وإصلاحها
-
EEPROM لم يتم اكتشافها:
- تحقق من الأسلاك وتأكيد اتصالات SDA/SCL.
- يجري
sudo i2cdetect -y 1
للتحقق من عنوان I2C الخاص بـ EEPROM.
-
عمليات قراءة/كتابة غير صحيحة:
- يضمن اكتب Protect (WP) يكون ترتكز لتمكين الكتابة.
- تقديم التأخير (
time.sleep(0.05)
) للسماح بإكمال عمليات كتابة EEPROM.
-
أخطاء الاتصال I2C:
- تحقق من وجود عناوين I2C المتضاربة على الحافلة.
- يضمن
smbus2
يتم تثبيته بشكل صحيح باستخدامpip3 install smbus2
.
خاتمة
AT24C256 EEPROM هي وسيلة بسيطة ولكنها قوية تخزين البيانات باستمرار على التوت PI. سواء ل تسجيل البيانات ، تخزين الإعدادات ، أو تطبيقات إنترنت الأشياء، يوفر هذا الدليل المعرفة التأسيسية اللازمة للتفاعل مع تخزين EEPROM بشكل فعال. تجربة مع قراءة/كتابة مجموعات بيانات أكبر لاستكشاف إمكاناتها الكاملة! 🚀