جدول المحتويات:
- الخطوة 1: الأجهزة المطلوبة:
- الخطوة 2: ربط الأجهزة:
- الخطوة الثالثة: كود قياس درجة الحرارة:
- الخطوة 4: التطبيقات:
فيديو: قياس درجة الحرارة باستخدام MCP9803 و Raspberry Pi: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
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 في مجال واسع من الأجهزة التي تشمل أجهزة الكمبيوتر الشخصية والأجهزة الطرفية ومحركات الأقراص الثابتة وأنظمة الترفيه المختلفة وأنظمة المكاتب وأنظمة اتصالات البيانات. يمكن دمج هذا المستشعر في أنظمة متطورة مختلفة.
موصى به:
قياس درجة الحرارة باستخدام AD7416ARZ و Raspberry Pi: 4 خطوات
قياس درجة الحرارة باستخدام AD7416ARZ و Raspberry Pi: AD7416ARZ عبارة عن مستشعر درجة حرارة 10 بت مع أربعة محولات تناظرية أحادية القناة إلى رقمية ومستشعر درجة حرارة مدمج فيه. يمكن الوصول إلى مستشعر درجة الحرارة على الأجزاء عبر قنوات المضاعف. هذه درجة الحرارة عالية الدقة
قياس درجة الحرارة باستخدام MCP9803 و Arduino Nano: 4 خطوات
قياس درجة الحرارة باستخدام MCP9803 و Arduino Nano: MCP9803 عبارة عن مستشعر درجة حرارة عالي الدقة بسلكين. وهي مُجسَّدة بسجلات قابلة للبرمجة بواسطة المستخدم تسهل تطبيقات استشعار درجة الحرارة. هذا المستشعر مناسب لنظام مراقبة درجة الحرارة متعدد المناطق المتطور للغاية
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
قياس درجة الحرارة باستخدام MCP9803 والفوتون الجزيئي: 4 خطوات
قياس درجة الحرارة باستخدام MCP9803 والفوتون الجسيمي: MCP9803 عبارة عن مستشعر درجة حرارة عالي الدقة بسلكين. وهي مُجسَّدة بسجلات قابلة للبرمجة بواسطة المستخدم تسهل تطبيقات استشعار درجة الحرارة. هذا المستشعر مناسب لنظام مراقبة درجة الحرارة متعدد المناطق المتطور للغاية
قياس درجة الحرارة باستخدام STS21 و Raspberry Pi: 4 خطوات
قياس درجة الحرارة باستخدام STS21 و Raspberry Pi: يوفر مستشعر درجة الحرارة الرقمي STS21 أداءً فائقًا وبصمة موفرة للمساحة. يوفر إشارات خطية معايرة بتنسيق رقمي I2C. يعتمد تصنيع هذا المستشعر على تقنية CMOSens ، والتي تنسب إلى