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

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

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

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

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

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

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

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

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

1. MCP9803

2. اردوينو نانو

3. كابل I2C

4. I2C درع لاردوينو نانو

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

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

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

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

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

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

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

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

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

لنبدأ بكود اردوينو الآن.

أثناء استخدام وحدة الاستشعار مع اردوينو ، نقوم بتضمين مكتبة Wire.h. تحتوي مكتبة "Wire" على الوظائف التي تسهل اتصال i2c بين المستشعر ولوحة اردوينو.

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

#يشمل

// عنوان MCP9803 I2C هو 0x48 (72)

#define Addr 0x48

الإعداد باطل()

{

// تهيئة اتصال I2C باعتباره MASTER

Wire.begin () ؛

// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600

Serial.begin (9600) ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

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

Wire.write (0x01) ؛

// وضع التحويل المستمر ، التشغيل الافتراضي

Wire.write (0x60) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (300) ؛

}

حلقة فارغة()

{

بيانات int غير الموقعة [2] ؛

// يبدأ اتصال I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل البيانات

Wire.write (0x00) ؛

// إيقاف انتقال I2C

Wire.endTransmission () ؛

// طلب 2 بايت من البيانات

Wire.request From (Addr، 2) ؛

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

// temp msb، temp lsb

إذا (Wire.available () == 2)

{

البيانات [0] = Wire.read () ،

البيانات [1] = Wire.read () ،

}

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

int temp = ((data [0] * 256) + data [1]) / 16.0 ؛

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

{

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

}

تعويم cTemp = درجة الحرارة * 0.0625 ؛

تعويم fTemp = cTemp * 1.8 + 32 ؛

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

Serial.print ("درجة الحرارة بالدرجة المئوية:") ؛

Serial.print (cTemp) ؛

Serial.println ("C") ؛

Serial.print ("درجة الحرارة بالفهرنهايت:") ؛

Serial.print (fTemp) ؛

Serial.println ("F") ؛

تأخير (500) ؛

}

في مكتبة الأسلاك ، يتم استخدام Wire.write () و Wire.read () لكتابة الأوامر وقراءة إخراج المستشعر.

يتم استخدام Serial.print () و Serial.println () لعرض إخراج المستشعر على الشاشة التسلسلية لـ Arduino IDE.

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

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

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

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

موصى به: