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

Raspberry Pi MCP9803 مستشعر درجة الحرارة Java تعليمي: 4 خطوات
Raspberry Pi MCP9803 مستشعر درجة الحرارة Java تعليمي: 4 خطوات

فيديو: Raspberry Pi MCP9803 مستشعر درجة الحرارة Java تعليمي: 4 خطوات

فيديو: Raspberry Pi MCP9803 مستشعر درجة الحرارة Java تعليمي: 4 خطوات
فيديو: Raspberry Pi MCP9803 Temperature Sensor Java Tutorial 2024, سبتمبر
Anonim
Image
Image

MCP9803 عبارة عن مستشعر درجة حرارة عالية الدقة بسلكين. وهي مُجسَّدة بسجلات قابلة للبرمجة بواسطة المستخدم تسهل تطبيقات استشعار درجة الحرارة. هذا المستشعر مناسب لنظام مراقبة درجة الحرارة متعدد المناطق المتطور للغاية. هذا هو العرض التوضيحي برمز جافا باستخدام Raspberry Pi.

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

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

1. Raspberry Pi

2. MCP9803

3. كابل I²C

4. I²C Shield لـ Raspberry Pi

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

الخطوة 2: التوصيلات

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

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

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

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

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

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

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

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

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

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

pi4j.com/install.html

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

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

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

// MCP9803

// تم تصميم هذا الرمز للعمل مع الوحدة المصغرة MCP9808_I2CS I2C

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

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

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

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

فئة عامة MCP9803

{

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

{

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

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

// احصل على جهاز I2C ، عنوان MCP9803 I2C هو 0x48 (72)

جهاز I2CDevice = Bus.getDevice (0x48) ،

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

// وضع التحويل المستمر ، الطاقة ، وضع المقارنة ، دقة 12 بت

device.write (0x01 ، (بايت) 0x60) ؛

Thread.sleep (500) ؛

// قراءة 2 بايت من البيانات من العنوان 0x00 (0)

// temp msb، temp lsb

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

قراءة الجهاز (0x00 ، البيانات ، 0 ، 2) ؛

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

int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16 ؛

إذا (درجة الحرارة> 2047)

{

درجة الحرارة - = 4096 ؛

}

cTemp مزدوج = درجة الحرارة * 0.0625 ؛

مزدوج fTemp = cTemp * 1.8 + 32 ؛

// إخراج البيانات للشاشة

System.out.printf ("درجة الحرارة بالدرجة المئوية:٪.2f C٪ n"، cTemp)؛

System.out.printf ("درجة الحرارة بالفهرنهايت هي:٪.2f F٪ n"، fTemp)؛

}

}

الخطوة الرابعة: الطلبات..:

يمكن استخدام MCP9803 في مجال واسع من الأجهزة التي تشمل أجهزة الكمبيوتر الشخصية والأجهزة الطرفية ومحركات الأقراص الثابتة وأنظمة الترفيه المختلفة وأنظمة المكاتب وأنظمة اتصالات البيانات. يمكن دمج هذا المستشعر في أنظمة متطورة مختلفة.

موصى به: