حساس الحرارة والرطوبة DHT11 - DHT22

DHT11

مقدمة

هل فكرت بعمل مشروع نظام للتحكم بالرطوبة أو درجة الحرارة، أو الاحتفاظ بسجل للمناخ في البيوت الزجاجية الخا ة بالمزارع، أو عمل محطة طقس لتتبع درجة الحرارة والرطوبة في منطقتك؟
يمكن أن يكون حساس الحرارة والرطوبة DHT11 أو DHT22 هو الخيار الأفضل لمشروعك، تابع المقال لمعرفة المعلومات التي تحتاجها عن هذه الأنواع من الحساسات.

ما هو DHT11/DHT22 وكيف يعمل؟

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

DHT Sensor

ماذا يوجد داخل DHT11/DHT22؟

  • ثرمستور: عبارة عن مقاومة حرارية تتغير قيمتها بحسب درجة الحرارة.

NTC thermistor

  • مستشعر رطوبة سعوي: عبارة عن حساس يقوم بقياس الرطوبة النسبية من خلال قياس التغيرات في السعة الكهربائية.

humidity sensor

  • دارة متكاملة ic: شريحة صغيرة تعالج قراءات الثرمستور وحساس الرطوبة السعوي وتحولها إلى إشارة رقمية كما أنها تتحكم في ا لاتصال بين الحساس والمتحكم.

DHT Sensor ic

  • مقاومة: عنصرغ ير فعال وظيفته ينظم تدفق التيار الكهربائي.
  • غلاف: غطاء يحيط بمكونات الحساس لحمايتها.

كيف يتم نقل البيانات بين الحساس والمتحكم؟

1- يرسل الحساس إشارة لبدء الاتصال مع المتحكم.
2- يرسل المتحكم اشارة للحساس يطلب فيها البيانات.
3- يرسل الحساس مجموعة بيانات من 40 بت تحتوي على 8بت للقيمة الصحيحة للرطوبة ة8 بت للقيمة العشرية للرطوبة و8بت للقيمة الصحيحة لدرجة الحرارة و8بت للقيمة العشرية لدرجة الحرارة و8 بت لفحص الخطأ.
4- يقوم المتحكم بالتحقق من المجموع وصحة البيانات
5- يقوم المتحكم بمعالجة البيانات وتخزين أو عرض درجة الحرارة والرطوبة
HOW DHT Sensor Work

الفرق بين DHT11 و DHT22

يعد كل من DHT11 و DHT22 أكثر الحساسات استخدامًا في سلسلة DHTxx. يبدون متشابهين نوعًا ما ولديهم نفس الأقطاب، لكن مواصفاتهم مختلفة، وهذه مقارنة بينهما:

الحساس DHT11 DHT22
جهد التشغيل 3 حتى 5 فولت 3 حتى 5 فولت
تيارالتشغيل 2.5mA كحد أقصى 2.5mA كحد أقصى
مجال الرطوبة 20-80% / 5% 0-100% / 2-5%
مجال الحرارة 0-50° ± 2 -40-80° ± 0.5
معدل العينات 1HZ 0.5HZ
المميزات استهلاك منخفض دقة عالية

DHT11 vs DHT22

بالمقارنة بينهما نلاحظ أن DHT22 يعد حساس درجة حرارة ورطوبة أكثر تقدمًا وبأداءً أعلى مقارنة بـ DHT11، إنه مناسب للمشاريع التي تتطلب دقة عالية ومجال واسع من القيم، بينما يعد DHT11 مناسبًا أكثر للمشاريع منخفضة التكلفة ومنخفضة الطاقة وتطلب مجال أقل من القيم وأهم ميزة لحساس DHT11 على حساس DHT22 أن معدل أخذ البيانات أو القراءات كل 1Hz أي كل 1 ثاتية بينما في DHT22 تكون كل 0.5Hz أي كل 2 ثانية.

على الرغم من هذه الاختلافات فإن جهد التشغيل لكل منها يتراوح من 3 إلى 5 فولت وتيار 2.5 مللي أمبير، ولكن أفضل جزء هو أن حساسات DHT11 و DHT22 قابلة للتبديل مما يعني أنه إذا قمت ببناء مشروعك بواحد يمكنك ببساطة فصله واستبداله بالنوع الآخر، قد تحتاج إلى تعديل التعليمات البرمجية الخاصة بك قليلاً لكن الأسلاك تظل كما هي.

أقطاب الحساس DHT11/DHT22

Vcc: قطب للتغذية
Gnd: قطب الأرضي
Data: قطب البيانات
Nc: لا يتم توصيله
DHT11 pinnout

مميزات وعيوب DHT11/DHT22

  • بعد التعرف أكثر على هذه الحساسات نجد أنها تتمير بأنها تمت معايرتها من قبل المصنع ولا تحتاج أي مكونات إضافية، فقط بعض التوصيلات وكود بسيط من خلال الاردوينو وسوف تستطيع البدء بقياس درجة الحرارة والرطوبة، بالاضافة الى أنها توفر قراءات دقيقة لدرجة الحرارة والرطوبة من مرتبة فاصلة عشرية

  • العيب الوحيد في هذه الحساسات أنها تحتاج وقت ثانية أو ثانيتيين لكي تعطيك بيانات جديدة

ملاحظة: حسب مواصفات الحساس فإنه يمكن توصيل تغذية له من 3.3 الى 5.5 فولت ولكن يوصى بتغذية 5 فولت حيث يمكن نقل البيانات على بعد 20 متر بينما في حال تغذية 3.3 فإنه يمكن نقل البيانات الى متر واحد بالاضافة الى احتمالية وجود أخطاء أكبر.

العناصر المستخدمة

  • حساس DHT11 أو DHT22
  • أردوينو أونو ARDUINO UNO
  • أسلاك توصيل
  • لوحة توصيل Bread Board

مخطط التوصيل

في حال كنت تستخدم الحساس بشكل منفصل فإنك تحتاج لوصل مقاومة رفع 10K بين أقطاب Vcc وقطب Out لكي يتم الاتصال بشكل صحيح مع الاردوينو، ولكن في حال كنت تستخدم الحساس بشكل Module لا تحتاج لإضافة أي شيء لأنه يأتي مع مقاومة رفع ومكثف لترشيح الضجيج في مصدر التغذية.
DHT11 circute Diagram
DHT22 circute diagram

الكود البرمجي

لتسهيل عملية كتابة الكود سوف نستخدم مكتبة خاصة للتعامل مع حساسات DHTxx ولإضافة المكتبة سوف نتبع الخطوات التالية:
من القائمة العلوية نذهب الى:
Sketch > Include Library > Manage Libraries…
وننتظر قليلا حتى يتم تحديث قائمة المكتبات المثبتة وبعدها نبحث عن ‘dhtlib’ ونضغط على خيار التنزيل

DHT11 Library

DHT11 Library

#include <dht.h>
#define dataPin 8 // Defines pin number to which the sensor is connected
dht DHT; // Creats a DHT object

void setup() 
{
	Serial.begin(9600);
}
void loop() 
{
	//Uncomment whatever type you're using!
	int readData = DHT.read22(dataPin); // DHT22/AM2302
	//int readData = DHT.read11(dataPin); // DHT11

	float t = DHT.temperature; // Gets the values of the temperature
	float h = DHT.humidity; // Gets the values of the humidity

	// Printing the results on the serial monitor
	Serial.print("Temperature = ");
	Serial.print(t);
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.print("C | ");
	Serial.print((t * 9.0) / 5.0 + 32.0);//print the temperature in Fahrenheit
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.println("F ");
	Serial.print("Humidity = ");
	Serial.print(h);
	Serial.println(" % ");
	Serial.println("");

	delay(2000); // Delays 2 secods
}

محاكاة المشروع

اضغط هنا

مشاركات أقدم المقال التالي
لا يوجد تعليقات
أضف تعليق
عنوان التعليق