جدول المحتويات:

Raspberry Pi - PCA9536 Input / output Expander Python تعليمي: 4 خطوات
Raspberry Pi - PCA9536 Input / output Expander Python تعليمي: 4 خطوات

فيديو: Raspberry Pi - PCA9536 Input / output Expander Python تعليمي: 4 خطوات

فيديو: Raspberry Pi - PCA9536 Input / output Expander Python تعليمي: 4 خطوات
فيديو: Raspberry Pi PCA9536 Digital I/O Buzzer Python Tutorial 2024, يوليو
Anonim
Image
Image

PCA9536 عبارة عن جهاز CMOS ذي 8 أسنان يوفر 4 بتات من توسع الإدخال / الإخراج المتوازي للأغراض العامة (GPIO) لتطبيقات I2C-bus / SMBus. وهو يتألف من سجل تكوين 4 بت لخدمة الغرض من تحديد الإدخال أو الإخراج ، وسجل منفذ الإدخال 4 بت ، وسجل منفذ الإخراج 4 بت ، وسجل انعكاس القطبية 4 بت النشط HIGH أو عملية منخفضة نشطة. هذا هو العرض التوضيحي مع raspberry pi باستخدام كود Python.

الخطوة 1: ماذا تحتاج..

ماذا تحتاج..!!
ماذا تحتاج..!!

1. Raspberry Pi

2. PCA9536

3. كابل I²C

4. I²C Shield لـ Raspberry Pi

5. كابل إيثرنت

الخطوة الثانية: التوصيلات:

روابط
روابط
روابط
روابط
روابط
روابط
روابط
روابط

خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.

ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر PCA9536 والطرف الآخر بغطاء I2C.

قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.

تظهر الاتصالات في الصورة أعلاه.

الخطوة الثالثة: الكود:

الشفرة
الشفرة

يمكن تنزيل كود python الخاص بـ PCA9536 من مستودع جيثب - متجر DCUBE.

ها هو الرابط الالكتروني

لقد استخدمنا مكتبة SMBus لرمز Python ، يتم وصف خطوات تثبيت SMBus على Raspberry Pi هنا:

pypi.python.org/pypi/smbus-cffi/0.5.1

يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:

# موزعة بترخيص الإرادة الحرة.

# استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، بشرط أن تتناسب مع تراخيص الأعمال المرتبطة بها.

# PCA9536

# تم تصميم هذا الرمز للعمل مع PCA9536_I2CIO I2C Mini Module #

استيراد smbus

وقت الاستيراد

# احصل على حافلة I2C

الحافلة = smbus. SMBus (1)

# عنوان PCA9536 ، 0x41 (65)

# حدد سجل التكوين ، 0x03 (03)

# 0xFF (255) تم تكوين كافة الأطراف كمدخلات

bus.write_byte_data (0x41 ، 0x03 ، 0xFF)

# الإخراج إلى الشاشة

طباعة "جميع حالات الدبابيس عالية"

وقت النوم (0.5)

# عنوان PCA9536 ، 0x41 (65)

# قراءة البيانات مرة أخرى من 0x00 (00) ، 1 بايت

البيانات = bus.read_byte_data (0x41، 0x00)

# تحويل البيانات إلى 4 بت

البيانات = (البيانات & 0x0F)

بالنسبة لـ i في النطاق (0 ، 4):

إذا كانت (data & (2 ** i)) == 0:

طباعة "حالة الإدخال / الإخراج٪ d منخفضة"٪ i

آخر:

طباعة "حالة الإدخال / الإخراج٪ d عالية"٪ i

وقت النوم (0.5)

الخطوة 4: التطبيقات:

يمكن استخدام PCA9536 كموسع إدخال / إخراج. يوفر حلاً بسيطًا عند الحاجة إلى إدخال / إخراج إضافي. عادةً ما يتم استخدامه في الأنظمة التي تتطلب توسيعًا لمفاتيح الطاقة ACPI ، وأجهزة الاستشعار ، وأزرار الضغط ، ومصابيح LED ، والمراوح ، إلخ.

موصى به: