جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
HIH6130 عبارة عن مستشعر للرطوبة ودرجة الحرارة بإخراج رقمي. توفر هذه المستشعرات مستوى دقة يبلغ ± 4٪ رطوبة نسبية. من خلال الاستقرار طويل الأجل الرائد في الصناعة ، ومدخل I2C الرقمي الحقيقي المعوض لدرجة الحرارة ، والموثوقية الرائدة في الصناعة ، وكفاءة الطاقة ، وحجم وخيارات الحزمة فائقة الصغر.
في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة استشعار HIH6130 مع اردوينو نانو. لقراءة قيم درجة الحرارة والرطوبة ، استخدمنا اردوينو مع محول I2c. يجعل محول I2C هذا الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. HIH6130
2. اردوينو نانو
3. كابل I2C
4. I2C Shield لاردوينو نانو
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر واردوينو نانو. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل HIH6130 فوق I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود قياس الرطوبة ودرجة الحرارة:
لنبدأ برمز اردوينو الآن.
أثناء استخدام وحدة الاستشعار مع Arduino ، نقوم بتضمين مكتبة Wire.h. تحتوي مكتبة "Wire" على الوظائف التي تسهل اتصال i2c بين المستشعر ولوحة Arduino.
يتم تقديم كود Arduino بالكامل أدناه لراحة المستخدم:
#يشمل
// عنوان HIH6130 I2C هو 0x27 (39)
#define Addr 0x27
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [4] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x00) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// طلب 4 بايت من البيانات
Wire.request From (Addr، 4) ؛
// قراءة 4 بايت من البيانات
// الرطوبة msb ، الرطوبة lsb ، temp msb ، temp lsb
إذا كان (Wire.available () == 4)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
}
// تحويل البيانات إلى 14 بت
الرطوبة العائمة = ((((البيانات [0] & 0x3F) * 256) + البيانات [1]) * 100.0) / 16383.0 ؛
int temp = ((data [2] * 256) + (data [3] & 0xFC)) / 4 ؛
تعويم cTemp = (درجة الحرارة / 16384.0) * 165.0 - 40.0 ؛
تعويم fTemp = cTemp * 1.8 + 32 ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("الرطوبة النسبية:") ؛
Serial.print (الرطوبة) ؛
Serial.println ("٪ RH") ؛
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: التطبيقات:
يمكن استخدام HIH6130 لتوفير قياس دقيق للرطوبة النسبية ودرجة الحرارة في مكيفات الهواء ، واستشعار المحتوى الحراري ، وأجهزة الترموستات ، وأجهزة الترطيب / أجهزة إزالة الرطوبة ، وأجهزة الترطيب للحفاظ على راحة الركاب. يمكن استخدامه أيضًا في ضواغط الهواء ومحطات الطقس وخزائن الاتصالات.