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

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

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

فيديو: Raspberry Pi - PCA9536 Input / Output Expander Java تعليمي: 4 خطوات
فيديو: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, شهر نوفمبر
Anonim
Image
Image

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

الخطوة 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.

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

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

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

يمكن تنزيل كود جافا الخاص بـ PCA9536 من مستودع جيثب- Dcube Store

هنا هو الرابط لنفسه:

github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java

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

pi4j.com/install.html

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

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

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

// PCA9536

// تم تصميم هذا الرمز للعمل مع الوحدة النمطية PCA9536_I2CIO I2C المصغرة المتوفرة من ControlEverything.com.

//

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛

استيراد com.pi4j.io.i2c. I2CFactory ؛

استيراد java.io. IOException ؛

فئة عامة PCA9536

{

يطرح main static void main (String args ) استثناء

{

// إنشاء ناقل I2C

ناقل I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ،

// احصل على جهاز I2C ، عنوان PCA9536 I2C هو 0x41 (65)

جهاز I2CDevice = Bus.getDevice (0x41) ؛

// حدد سجل التكوين

// تم تكوين جميع الدبابيس كمدخلات

device.write (0x03 ، (بايت) 0xFF) ؛

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

System.out.printf ("كافة حالات الدبابيس عالية٪ n")؛

Thread.sleep (500) ؛

// قراءة 1 بايت من البيانات

بايت بيانات = بايت جديد [1] ؛

البيانات [0] = (بايت) device.read (0x00) ؛

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

int data1 = (data [0] & 0x0F) ؛

لـ (int i = 0 ؛ i <4 ؛ i ++)

{

إذا ((data1 & ((int) Math.pow (2، i))) == 0)

{

System.out.printf ("I / O Pin٪ d State is LOW٪ n"، i)؛

}

آخر

{

System.out.printf ("حالة إدخال / إخراج٪ d عالية٪ n"، i)؛

Thread.sleep (500) ؛

}

}

}

}

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

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

موصى به: