جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
ADT75 هو مستشعر درجة حرارة رقمي عالي الدقة. وهو يتألف من مستشعر درجة حرارة فجوة النطاق ومحول تناظري رقمي 12 بت لمراقبة درجة الحرارة ورقمنتها. مستشعره عالي الحساسية يجعله كفؤًا بدرجة كافية لقياس درجة الحرارة المحيطة بدقة.
في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة استشعار ADT75 مع اردوينو نانو. لقراءة قيم درجة الحرارة ، استخدمنا اردوينو مع محول I2c. يجعل هذا المحول I2C الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. ADT75
2. اردوينو نانو
3. كابل I2C
4. I2C Shield لاردوينو نانو
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر واردوينو نانو. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل ADT75 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود قياس درجة الحرارة:
لنبدأ برمز اردوينو الآن.
أثناء استخدام وحدة الاستشعار مع Arduino ، نقوم بتضمين مكتبة Wire.h. تحتوي مكتبة "Wire" على الوظائف التي تسهل اتصال i2c بين المستشعر ولوحة Arduino.
يتم تقديم كود Arduino بالكامل أدناه لراحة المستخدم:
#يشمل
// عنوان ADT75 I2C هو 0x48 (72)
#define Addr 0x48
الإعداد باطل()
{
// تهيئة اتصال I2C كسيد
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
تأخير (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 ؛
إذا (درجة الحرارة> 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: التطبيقات:
ADT75 هو مستشعر درجة حرارة رقمي عالي الدقة. يمكن استخدامه في مجموعة واسعة من الأنظمة بما في ذلك أنظمة التحكم البيئي ، ومراقبة الحرارة بالكمبيوتر وما إلى ذلك. ويمكن أيضًا دمجها في ضوابط العمليات الصناعية بالإضافة إلى شاشات نظام الطاقة.