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

نویسنده

دسته

ماژول دما و رطوبت DHT11

فهرست مطالب

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

سنسور DHT11، یک سنسور دما و رطوبت دیجیتال است. این سنسور قادر است میزان رطوبت بین 20 تا 80 درصد را با دقت 5% و دما را در بازه ی 0 تا 50 درجه ی سلسیوس، با دقت 2 درجه اندازه گیری کند.
توجه
فرکانس نمونه برداری این سنسور 1Hz است. درنتیجه باید بین دوبار خواندن متوالی سنسور حدقل یک ثانیه زمان وجود داشته باشد، در غیر این صورت، مقادیر خوانده شده اشتباه خواهد بود.
دیتاشیت سنسور دما و رطوبت DHT11 را می توانید از اینجا دانلود کنید.

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

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

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

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

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

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

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

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

آردوینو IDE

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

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

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

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

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

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

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. این کد دما و رطوبت خوانده شده را در پنجره ی سریال نمایش می دهد.
/*
  DHT11 - Tempertature & Hummidity Sensor
  modified on 08 Sep 2020
  by Mohammad Reza Akbari @ Electropeak
  https://electropeak.com/learn/

  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);
}
خروجی کد به شکل زیر است.

از این مطلب خوشتان آمده؟

جدیدترین آموزش‌ها را از بهترین‌ها دریافت کنید

بیشتر بخوانید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *