آموزش راه اندازی ماژول دما و رطوبت 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
  
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 (6)

  • 4055 Reply

    سلام
    خسته نباشید. بسیار عالی بود.
    لطفا کد نمایش در ال سی دی، رو قرار دهید با تشکر

    فوریه 27, 2022 at 9:18 ب.ظ
  • parham Reply

    اون توضیحات انگلیسی که نوشته شده رو کد رو پاک کنم اوکیه ؟

    می 22, 2023 at 12:23 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      کامنت ها هیچ تاثیری در عملکرد کد ندارد و فقط برای خوانایی کد می باشد.
      میتواندی کلش را پاک کنید.

      می 22, 2023 at 10:33 ق.ظ
  • Yazdan Reply

    /sdk/hardware/tools/avr/bin/avr-g++ -no-canonical-prefixes -std=gnu++11 -c -g -Os -w -mmcu=atmega328p -DF_CPU=16000000L -DUSB_VID=null -DUSB_PID=null -DARDUINO=10812 -DIDE=”ArduinoDroid” -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO /DHT_sensor_library/DHT_U.cpp -o /librariesBuild/DHT_sensor_library/DHT_U.cpp.o In file included from /DHT_sensor_library/DHT_U.cpp:15:0:
    /DHT_sensor_library/DHT_U.h:36:29: fatal error: Adafruit_Sensor.h: No such file or directory
    #include
    ^
    compilation terminated.
    Return code is not 0

    این کد یعنی چی، خطا میده

    مارس 14, 2024 at 11:14 ب.ظ
    • محمد دمیرچی Reply

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

      مارس 24, 2024 at 10:43 ق.ظ

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

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