آموزش راه اندازی سنسور دما و رطوبت DHT22 با آردوینو

فهرست مطالب

ویژگی های سنسور دما و رطوبت DHT22

سنسور دما و رطوبت DHT22، یک انتخاب بسیار خوب برای اندازه گیری دما و رطوبت محیط است. این سنسور در حقیقت از یک سنسور رطوبت خازنی و یک مقاومت گرمایی تشکیل شده است. سنسور آب و هوای DHT22 بازه اندازه‌گیری دما و رطوبت وسیعی دارد. توانایی اندازه‌گیری دمای این سنسور در بازه 40- تا 125+ درجه سلیسیوس و با دقت 0.5 درجه سلیسیوس است. رطوبت هوا را نیز در محدوده 0 تا 100% و با دقت 2.5% اندازه می‌گیرد. این سنسور اطلاعات را از طریق یک پایه دیجیتال منتقل می‌کند، که همین موضوع کار با آن را توسط میکروکنترلرهای گوناگون آسان کرده است. فرکانس نمونه‌برداری این سنسور نیز 0.5Hz است، که به معنای آن است که اطلاعات دما و رطوبت را هر دو ثانیه به روزرسانی می‌کند.

معرفی پایه ها (Pinout) سنسور دما و رطوبت DHT22

سنسور دما و رطوبت DHT22 دارای 4 پایه به شرح زیر است:

  • VCC: تغذیه ماژول –5 ولت
  • DATA: پایه داده
  • NC: متصل نمی‌شود
  • GND: زمین

پین اوت (Pinout) این سنسور را می‌توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
سنسور دما و رطوبت - سنسور آب و هوا DHT22 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی سنسور دما و رطوبت DHT22

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

به Library manager رفته و کتابخانه DHT sensor library را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره Serial Monitor را باز کنید.

  /*
modified on Dec 28, 2020
Modified by MehranMaleki from Arduino Examples
Home
*/ //Libraries #include <DHT.h>; //Constants #define DHTPIN 2 //what pin we're connected to #define DHTTYPE DHT22 //DHT 22 (AM2302) DHT dht(DHTPIN, DHTTYPE); //Initialize DHT sensor for normal 16mhz Arduino //Variables float hum; //Stores humidity value float temp; //Stores temperature value void setup() { Serial.begin(9600); dht.begin(); } void loop() { //Read data and store it to variables hum and temp hum = dht.readHumidity(); temp= dht.readTemperature(); //Print temp and humidity values to serial monitor Serial.print("Humidity: "); Serial.print(hum); Serial.print(" %, Temp: "); Serial.print(temp); Serial.println(" Celsius"); delay(2000); //Delay 2 sec. }

در کد بالا، اطلاعات دما و رطوبت در هر دو ثانیه از سنسور دریافت شده و در پنجره­ی Serial Monitor نمایش داده می­‌شود.

خروجی کد به شکل زیر است.

آموزش های مشابه

Comments (5)

  • Eli Reply

    خدااااا خیرتون بده
    خیلییییییییییی خیلییییییییییی ممنون
    عالییییی
    ممنووووون ممنون

    ژانویه 17, 2024 at 12:58 ب.ظ
  • مهران Reply

    خب اگر حالا بخوایم دستور بدیم رطوبت از n و دما اگر از بازه )x,g) خارج شد به عملگر هایی مثل اسپری و هیتر و فن دستور روشن و خاموش بده با چطور در مدار قرار بدیم و کدشو چی بنویسسم ؟

    فوریه 16, 2024 at 7:14 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      داخل حلقه loop از دستور های if برای این موضوع استفاده میکنیم که در صورتی که این شرایط برقرار بود پایه های مشخص شده توسط شما به حالت HIGH یا LOW در بیاید که آن پایه را می توانید به رله یا هر قطعه دیگری که برای کنترل قرار دادید وصل کنید.

      فوریه 21, 2024 at 11:48 ق.ظ
  • Norik Reply

    سلام خیلی ممنونم از مقاله کامل و دقیقتون . اما اگر بخوام یه سیستم بسازم که در صورتی که دما در بازه ای مشخصی پایینتر رفت هیتر روشن کنه و اگر بالا تر رفت فن روشن کنه و اگر رطوبت کمتر از یک حدی شد دوشک روشن کنه چکار باید بکنم

    فوریه 27, 2024 at 1:56 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      برای ایجاد شرط که در هر شرایطی چه کاری انجام شود از دستور if استفاده میکنیم. پیشنهاد میکنم رفرنس های آردوینو و برنامه نویسی را مطالعه کنید.

      فوریه 27, 2024 at 10:02 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.