كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع أردوينو (الكود الأساسي)

كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع أردوينو (الكود الأساسي)

في هذا الدرس، سنتعلم كيفية استخدام مستشعر درجة الحرارة والرطوبة النسبية HTU21DF مع الأردوينو. يُعرف هذا المستشعر بدقته واستهلاكه المنخفض للطاقة، مما يجعله مثاليًا لمجموعة متنوعة من التطبيقات. بنهاية هذا الدرس، ستكون قادرًا على قراءة قيم درجة الحرارة والرطوبة وعرضها على شاشة السيريال في الأردوينو. لمزيد من التوضيح، تأكد من مراجعة الفيديو في (في الفيديو عند 00:00).

تفسير الأجهزة

حساس HTU21DF هو حساس رقمي للرطوبة ودرجة الحرارة يتواصل باستخدام بروتوكول I2C. يمكنه قياس درجات الحرارة التي تتراوح من -40 درجة مئوية إلى +125 درجة مئوية والرطوبة النسبية من 0% إلى 100%. يعمل الحساس بجهد تشغيل يبلغ 3.3 فولت، مما يجعله مناسبًا للتطبيقات التي تعمل بالبطاريات.

تعتبر دبوسان أساسيان للتواصل: SDA (خط البيانات) و SCL (خط الساعة). يحتوي المستشعر أيضًا على وضع استهلاك طاقة منخفض، حيث يستهلك فقط 0.04 ميكرو أمبير عندما يكون في حالة الخمول وحوالي 400 ميكرو أمبير خلال القياسات. تجعل هذه الميزة مفيدة بشكل خاص في المشاريع الحساسة للطاقة.

تفاصيل ورقة البيانات

شركة المصنعةتي إي كونكتيفيتي (سابقًا ميس)
رقم الجزءHTU21DF
جهد المنطق/الإدخال والإخراج٣.٣ فولت
جهد الإمداد1.5 - 3.6 فولت
استهلاك التيار الثابت0.04 ميكرو أمبير
قياس استهلاك التيار٤٠٠ ميكروأمبير
نطاق درجة الحرارةمن -40 إلى +125 درجة مئوية
نطاق الرطوبة0 إلى 100 %
قرار٠٫٠٤ ٪ (رطوبة)، ٠٫٠١ °م (درجة حرارة)
باقة6-pin LGA

  • تأكد من وجود اتصالات صحيحة لتجنب الضرر.
  • احتفظ بمصدر الطاقة ضمن حدود الجهد المحددة (1.5 إلى 3.6 فولت).
  • استخدم مقاومات سحب على خطوط SDA و SCL إذا لزم الأمر.
  • كن حذرًا من قطبية معكوسة عند توصيل الطاقة.
  • اسمح للحساس بعض الوقت ليستقر بعد التشغيل.

تعليمات التوصيل

لتوصيل مستشعر HTU21DF بـ Arduino، اتبع الخطوات التالية:

أولاً، قم بتوصيل السلك الأيسر من المستشعر بمصدر 3.3 فولت من الأردوينو. يجب توصيل السلك الثاني، الذي يكون عادةً marcado باللون الأحمر، بالأرض (GND). بعد ذلك، قم بتوصيل سلك SDA من المستشعر بالسلكA4على الأردوينو، وقم بتوصيل دبوس SCL بالدبوسA5سيسمح هذا الإعداد للاردوينو بالتواصل مع المستشعر باستخدام بروتوكول I2C.

تأكد من أن جميع الاتصالات مؤمنة لتجنب أي مشكلات في الاتصال. إذا كنت تستخدم لوحة دوائر، تحقق مرة أخرى من الأسلاك للحفاظ على الاتصالات الصحيحة. في الفيديو، تم مناقشة طرق توصيل بديلة (في الفيديو عند 01:30).

أمثلة على الشيفرة وشرح مفصل

أدناه نظرة عامة موجزة عن الشفرة المستخدمة للتفاعل مع مستشعر HTU21DF. أولاً، يتم تضمين المكتبات اللازمة:

#include 
#include "Adafruit_HTU21DF.h"

يقوم هذا الرمز بتهيئة اتصال I2C وينشئ مثيلاً لمستشعر HTU21DF كـhtu.

بعد ذلك، نقوم بإعداد الاتصال التسلسلي في الـsetup()وظيفة:

void setup() {
  Serial.begin(9600);
  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

هنا، يتم تهيئة المستشعر، وإذا فشل في الاتصال، يتم طباعة رسالة، ويتوقف البرنامج.

فيloop()في هذه الدالة، نقوم بقراءة قيم درجة الحرارة والرطوبة:

void loop() {
    float temp = htu.readTemperature();
    float rel_hum = htu.readHumidity();
    Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
    Serial.print("\t\t");
    Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
    delay(500);
}

يتم تخزين درجة الحرارة في المتغيرtemp, ويتم تخزين الرطوبة النسبية فيrel_humتتم طباعة هذه القيم على شاشة المراقبة التسلسلية كل 500 مللي ثانية، مما يتيح لك ملاحظة التغيرات في الوقت الحقيقي.

للحصول على الكود الكامل، يرجى الرجوع إلى البرنامج الكامل المحمل أدناه المقال.

عرض / ماذا تتوقع

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

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

طوابع الفيديو الزمنية

  • 00:00- مقدمة
  • 01:30- تعليمات الأسلاك
  • 05:00- عرض

الصور

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
210-Arduino code using HTU21D-F Humidity & Temperature Sensor (basic-2)
اللغة: C++
تم النسخ!

الأشياء التي قد تحتاجها

الموارد والمراجع

ملفات📁

ورقة البيانات (pdf)