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

قياس درجة الحرارة باستخدام MCP9803 و Raspberry Pi: 4 خطوات
قياس درجة الحرارة باستخدام MCP9803 و Raspberry Pi: 4 خطوات

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

فيديو: قياس درجة الحرارة باستخدام MCP9803 و Raspberry Pi: 4 خطوات
فيديو: قياس درجه الحراره بالترمومتر العادي_Measuring the temperature with the mercury thermometer 2024, يوليو
Anonim
Image
Image

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

في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة المستشعر MCP9803 مع raspberry pi كما تم توضيح برمجتها باستخدام لغة Java. لقراءة قيم درجة الحرارة ، استخدمنا raspberry pi مع محول I2C. يجعل هذا المحول I2C الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.

الخطوة 1: الأجهزة المطلوبة:

الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة

تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:

1. MCP9803

2. التوت باي

3. كابل I2C

4. I2C شيلد للتوت باي

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

الخطوة 2: ربط الأجهزة:

ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة

يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر و raspberry pi. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:

سيعمل MCP9803 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.

خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.

كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.

هذه الوصلات موضحة في الصور أعلاه.

الخطوة الثالثة: كود قياس درجة الحرارة:

كود قياس درجة الحرارة
كود قياس درجة الحرارة

تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة بها لربط المستشعر بها. من خلال الاستفادة من هذه الميزة في هذا المنتدى ، نعرض هنا أنه يتم البرمجة بلغة Java. يمكن تنزيل كود جافا الخاص بـ MCP9803 من مجتمع Github الخاص بنا وهو Dcube Store.

ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:

كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة pi4j في حالة java لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:

pi4j.com/install.html

يمكنك نسخ كود جافا العامل لهذا المستشعر من هنا أيضًا:

استيراد 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)؛

}

}

المكتبة التي تسهل اتصال i2c بين المستشعر واللوحة هي pi4j ، وتساعد حزمها المختلفة I2CBus و I2CDevice و I2CFactory على إنشاء الاتصال.

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

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

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

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

يتم استخدام وظائف write () و read () لكتابة بعض الأوامر المحددة إلى المستشعر لجعله يعمل في وضع معين وقراءة إخراج المستشعر على التوالي.

يظهر خرج المستشعر أيضًا في الصورة أعلاه.

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

التطبيقات
التطبيقات

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

موصى به: