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

فهرست مطالب

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

سنسور DHT11، یک سنسور دما و رطوبت دیجیتال است. این سنسور قادر است میزان رطوبت بین 20 تا 80 درصد را با دقت 5% و دما را در بازه ی 0 تا 50 درجه ی سلسیوس، با دقت 2 درجه اندازه گیری کند.

توجه

فرکانس نمونه برداری این سنسور 1Hz است. درنتیجه باید بین دوبار خواندن متوالی سنسور حدقل یک ثانیه زمان وجود داشته باشد، در غیر این صورت، مقادیر خوانده شده اشتباه خواهد بود.

دیتاشیت سنسور دما و رطوبت DHT11 را می توانید از اینجا دانلود کنید.

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

سنسور DHT11 دارای 4 پایه است که تنها از 3 پایه آن استفاده می شود. کاربرد این پایه ها به شرح زیر است:

  • VCC: تغذیه ماژول – 3 تا 5 ولت
  • GND: زمین
  • Data: خروجی سنسور

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

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

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

برد آردوینو Uno × 1
سنسور دما و رطوبت سنج دیجیتال DHT11 × 1
مقاومت 4.7 کیلو اهم × 1
برد بورد × 1
سیم جامپر × 1

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

آردوینو IDE

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

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

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

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

به Library manager رفته و کتابخانه ی سنسور دما DHT11 را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، این مطلب را بخوانید: آموزش نصب کتابخانه جدید در آردوینو.

گام سوم: کد

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

    /*
  DHT11 - Tempertature & Hummidity Sensor
  modified on 08 Sep 2020
  by Mohammad Reza Akbari @ Electropeak
  
Home
Based on Adafruit Example */ #include "DHT.h" #define DHTPIN 8 // Digital pin connected to DHT11 // Uncomment whatever type you're using! #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); dht.begin(); Serial.println("Initializing... Please wait."); delay(2000); } void loop() { float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.println(f); delay(2000); }

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

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

Comments (4)

  • mohammad Reply

    سلام
    شما نوشتید که بازه 0 تا 50 درجه رو نشون میده ولی من سردش کردم بهم منفی هم نشون داد !

    سپتامبر 8, 2021 at 4:47 ب.ظ
    • مهران ملکی Reply

      سلام.
      رنج اندازه‌گیری دمای این سنسور بر اساس دیتاشیت اون، 0 تا 50 درجه سانتی‌گراد هست. در نتیجه در صورتی که اون رو بیش از اندازه سرد و یا بیش از اندازه گرم کنید، بسته به کتابخونه مورد استفاده ممکنه که عددی خارج از بازه 0 تا 50 درجه نشون داده بشه، اما این دمای اندازه گرفته شده دقیق و قابل اتکا نیست.

      سپتامبر 8, 2021 at 6:02 ب.ظ
  • سهیل ستاری Reply

    سلام چطوری خروجی کد رو صفحه نمایش نمایش داده میشه ؟

    ژانویه 11, 2024 at 4:19 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      با توجه به نمایشگری که انتخاب میکنید.
      کتابخانه مربوط به نمایشگر دارای فانکشن هایی برای نمایش متن هستند، از آنها برای این موضوع باید استفاده کنید.

      ژانویه 13, 2024 at 8:56 ق.ظ

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

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