حسّاس DHT11 : هو حسّاس رطوبة وحرارة ذو خَرْج رقميّ معياريّ.يمكن وصل الحسّاس مع أيّ متحكِّم صِغَرِيّ مثل الأردوينو أو Raspberry Pi وغيرها والحصول على نتائج فوريّة.
يمتاز هذا الحسّاس بكلفته المنخفضة وموثوقيتِه العالية، كما أنّه يتميّز باستقراره الطّويل الأمد.
في هذا المشروع سنقوم ببناء دارة صغيرة لوصل الأردوينو مع حسّاس DHT11.
تُعتبَر مراقبة الطّقس أحد التّطبيقات الأساسيّة لهذا الحسّاس.

                                            الشكل (1) دارة وصل حسّاس DHT11 مع الأردوينو

قائمة المحتويات:

  1. مخطّط الدّارة.
  2. العناصر المطلوبة.
  3. توصيف الدّارة.
  4. توصيف العناصر.

حسّاس الحرارة والرّطوبة DHT11

– مثال

  1. مبدأ العمل.
  2. الكود البرمجيّ.
  3. التّطبيقات.
  4. فيديو التّركيب والخَرْج.

 

مخطّط الدّارة:

يُمثِّل مخطَّط الدّارة التّالي (الشّكل 2) جميع التّوصيلات المطلوبة لتطبيق المشروع:

                                                                    الشكل (2) مخطَّط الدّارة

العناصر المطلوبة:

  • أردوينو Arduino UNO
  • حسّاس الحرارة والرّطوبة DHT11
  • لوحة اختبار test board
  • منبع تغذية
  • شاشة LCD بقياس 16×2
  • مقاومة متغيِّرة  10Kohm
  • مقاومة 5Kohm باستطاعة 1/4 W
  • أسلاك توصيل

توصيف الدّارة:

يُوجد شكلان أساسيّان للحسّاس: إمّا الحسّاس بشكل منفرد أو الحسّاس ضمن وحدة Module.
الفرق الأساسيّ هو أنّ الوحدة تحتوي على مقاومة رفع Pull-up كما يمكن أن تحتوي LED للإشارة إلى أنّ الحسّاس في وضع العمل.
في هذا المشروع قمنا باستخدام الوحدة الخاصّة بهذا الحسّاس، ولكن إذا أردْتَ أن تستخدمَ الحسّاس وحده فقم بوصل مقاومة رفع pull-up قيمتُها 5K ohm معه.

بالنسبة لتصميم الدّارة فسيوصل طرف البيانات للحسّاس مع الطّرف رقم 11 من الأردوينو. وسنستخدم شاشة الـ LCD لعرض النتائج.

  • ستوصل أطراف التّحكّم بالشّاشة (القطبين RS وE) الأطراف 4 و6 للشّاشة مع الطّرفين 4 و5 للأردوينو.
  • ستوصَل أطراف البيانات للشّاشة (من D4 إلى D7) وهي الأطراف من 11 إلى 14 للشّاشة مع الأطراف من 0 إلى 3 للأردوينو.

ملاحظة:

قمنا بوصل الحسّاس مع أقطاب ICSP للأردوينو لسهولة التّوصيل حيث أنّها تُعطي أقطاب تغذية وبيانات وتأريض متجاورَة، لكن هذا ليس ضرورياًّ إذ يمكن ربط قطب البيانات للحسّاس مع أيّ قطب دَخْل\خَرْج رقميّ للأردوينو.

توصيف العناصر:

حسّاس الحرارة والرّطوبة DHT11:

يُعتبَر حسّاس DHT11 واحداً من سلسلة حسّاسات DHTXX للرّطوبة. الحسّاس الآخر في هذه السّلسلة هو DHT22.
يُعتبَر كِلا الحسّاسين حساسَي رطوبة نسبيّة (Relative Humidity (RH، أي أنّ الحساسَين يقومان بقياس الحرارة والرّطوبة.

يتمتّع حسّاس DHT11 بشعبيّة بين المبتدئِين رغم بطئه وذلك لرخص ثمنه.

                                                               الشكل (3)

 

يتألّف الحسّاس DHT11 من ثلاثة عناصرَ أساسيّة: حسّاس رطوبة ذو نمط مقاومة، حسّاس حرارة NTC (ذو معامل حراريّ سالب) لقياس الحرارة، متحكّم صِغَرِي 8 بت يحوِّل الإشارات التشابهيّة من الحسّاسَين إلى إشارة رقميّة واحدة على الخَرْج.

يمكن قراءة الإشارة الرقميّة من قبل أي معالج صِغَرِي أو متحكّم صِغَري ليتمَّ تحليلُها.

                                                           الشكل (4) أطراف الحسّاس

يملك حسّاس (DHT11) أربعة أقطاب: التّغذية VCC، بيانات الخَرْج Data Out ، غير متّصل (NC)، والأرضيّ GND.
مجال جهد التّغذية للحسّاس ما بين 3.5V و5.5V ومنه يمكن استخدام منبع تغذية 5V.
البيانات على الطّرف بيانات الخَرْج هي بيانات رقميّة تسلسليّة.

يُبيّن الشّكل (5) دارة DHT11 مبسَّطة.
يقيس الحسّاس قيَم رطوبة نسبيّة (RH) ما بين 0-90% وقيم حرارة ما بين 0-50 درجة مئويّة ودور أَخْذِ العيّنات هو 1 ثانية.

                                                             الشكل (5) الدارة المبسطة

تتمّ معايرة حسّاسات DHT11 بشكل دقيق في المخابر، وتخزين النتائج في الذاكرة.
يمكن بناء الاتّصال بين الحسّاس والأردوينو عن طريق سلك واحد يمكنُ أن يصلَ طولُه إلى 20 متراً.
تتألّف البيانات القادمة من الحسّاس من: جزء صحيح وجزء عشريّ لكلّ من الرّطوبة النسبيةّ (RH) والحرارة.

تتألف البيانات القادمة من الحسّاس من 40 بت: 8 بت للقيمة الصّحيحة للرّطوبة، 8 بت للقيمة العشريّة للرّطوبة، 8 للقيمة الصحيحة للحرارة، 8 للقيمة العشريّة للحرارة، 8 بت للتّحقّق من صحّة الإرسال Checksum.

مثال

لنفترض أنّ البيانات الواصلة من حسّاس DHT11 هي كالتاّلي

00100101 00000000 00011001 00000000 00111110

يمكن تقسيم البيانات إلى الأقسام التاّلية كما ذكرنا سابقا

                                                                       الشكل (6)

للتأكُّد من صحّة البيانات نقوم بعملية حسابيّة بسيطة. نقوم بجمع الأقسام الصحيحة والعشريّة لكلٍّ من الرّطوبة والحرارة، والتأكّد إذا ما كانت مساوية لقيمة بت التَّحقُق من الإرسال (البتات الثمانية الأخيرة)

00100101+0000000+00011001+00000000=00111110

القيمة مساوية لبايت التَّحقُق، ومنه فالبيانات المستقبَلة صحيحة.

وللحصول على قيم الرّطوبة والحرارة نقوم بتحويل البيانات الثنائيّة إلى عشريّة.

الرطوبة النسبيّة (RH)= التحويل العشريّ لـ 00100101 = 37%

الحرارة = التحويل العشريّ لـ 00011001 = 25 deg C

مبدأ عمل المشروع:

سنقوم باستخدام الأردوينو UNO وحسّاس الرّطوبة والحرارة DHT11 لعرض رطوبة وحرارة الوسط المحيط على شاشة LCD.
بعد توصيل الأسلاك لن نحتاج للقيام بأيّ شيء لأنّ البرنامج سيقوم بكلّ العمل.
لم نقم باستخدام مكتبة خاصّة بالرّغم من وجود هكذا مكتبة للحسّاس DHT11 وهي “DHT”. إذا أردْتَ استخدام هذه المكتبة يتوجبُ عليك تحميلُها بشكل مستقلٍّ وإضافتٌها إلى مكتبات الأردوينو.
يعتمد البرنامج على مخطّطات توقيت البيانات data timing diagrams الموجودة في دليل المواصفات datasheet. سيقوم الأردوينو بقراءة البيانات بشكل أوتوماتيكيّ من الحسّاس وسيعرضها على الشاشة.

الكود البرمجيّ: التحميل من هنا

التّطبيقات:

يمكن استخدام حسّاس الرّطوبة والحرارة DHT11 في كثير من التّطبيقات:

  • أنظمة HVAC (التدفئة والتّهوية والتكييف).
  • محطات الأرصاد الجويّة.
  • المعدّات الطبيّة لقياس الرّطوبة.
  • أنظمة أتمتة البيوت.
  • تطبيقات الطّقس المؤتمتة.

فيديو التّركيب والخَرج:

 


المصدر: من هنا
ترجمة: عدي ناصر , مراجعة: علي العلي , تدقيق لغويّ: رنيم العلي , تصميم: وليد برهوم , تحرير: قحطان غانم