ویژگی های سنسور دما و رطوبت DHT11
سنسور DHT11، یک سنسور دما و رطوبت دیجیتال است. این سنسور قادر است میزان رطوبت بین 20 تا 80 درصد را با دقت 5% و دما را در بازه ی 0 تا 50 درجه ی سلسیوس، با دقت 2 درجه اندازه گیری کند.
توجه
فرکانس نمونه برداری این سنسور 1Hz است. درنتیجه باید بین دوبار خواندن متوالی سنسور حدقل یک ثانیه زمان وجود داشته باشد، در غیر این صورت، مقادیر خوانده شده اشتباه خواهد بود.
دیتاشیت سنسور دما و رطوبت DHT11 را می توانید از اینجا دانلود کنید.
معرفی پایه ها (Pinout) سنسور دما و رطوبت DHT11
سنسور DHT11 دارای 4 پایه است که تنها از 3 پایه آن استفاده می شود . کاربرد این پایه ها به شرح زیر است:
• VCC: تغذیه ماژول – 3 تا 5 ولت
• GND: زمین
• Data: خروجی سنسور
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی سنسور دما DHT11 با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، سنسور را به آردوینو وصل کنید.
نکته
پایه ی خروجی سنسور DHT11 در خود ماژول یا یک مقاومت پول آپ شده است و شما نیازی به اتصال مقاومت خارجی ندارید.
گام دوم: نصب کتابخانه
به Library manager رفته و کتابخانه ی سنسور دما DHT11 را نصب کنید.
گام سوم: کد
کد زیر را روی برد آردوینو آپلود کنید. این کد دما و رطوبت خوانده شده را در پنجره ی سریال نمایش می دهد.
/*
DHT11 - Tempertature & Hummidity Sensor
modified on 08 Sep 2020
by Mohammad Reza Akbari @ Electropeak
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=BtiHsfeMHs" data-secret="BtiHsfeMHs" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
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;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.println(f);
delay(2000);
}
Arduino
خروجی کد به شکل زیر است.
Comments (12)
سلام
خسته نباشید. بسیار عالی بود.
لطفا کد نمایش در ال سی دی، رو قرار دهید با تشکر
سلام. ممنون لطفتون.
رو چه LCD میخواید نمایش بدید؟ آموزشهای جداگانه در مورد اکثر نمایشگرها در سایت نوشته شده میتونید از اونها استفاده کنید. در زیر تعدادی از آموزشها که میتونن براتون مفید باشن رو میبینید.
https://thecaferobot.com/learn/interfacing-i2c-16×2-character-lcd-1602-display-module-with-arduino/
https://thecaferobot.com/learn/using-1602-character-lcd-keypad-shield-arduino/
https://thecaferobot.com/learn/interfacing-character-lcd-display-modules-with-arduino/
https://thecaferobot.com/learn/absolute-beginners-guide-to-tft-lcd-displays-by-arduino/
اون توضیحات انگلیسی که نوشته شده رو کد رو پاک کنم اوکیه ؟
با سلام
کامنت ها هیچ تاثیری در عملکرد کد ندارد و فقط برای خوانایی کد می باشد.
میتواندی کلش را پاک کنید.
/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
این کد یعنی چی، خطا میده
با سلام
ارور شما مربوط به این می باشد که کتابخانه Adafruit_Sensor.h را نمی تواند پیدا کند.
از لینک قرار داده شده این کتابخانه را نیز نصب کنید تا مشکل حل بشود.
سلام
ببخشید اگر می شود فایل دانلودی قرار دهید من هر چه گشتم گزینه دانلود پیدا نکردم
با سلام،
چه بخش را میخواهید دانلود کنید؟؟
در حال حاظر شما می توانید با کلیک بر روی گزینه Copy کل خط های کد را کپی و در پروژه خود Paste کنید.
با سلام
اواخر برنامه دو خط هم در مورد محاسبات ایندکس نوشته شده
float hic = dht.computeHeatIndex(t, h, false);
ایندکس ها چی هستند؟
و در این برنامه پرینت هم نشدند
با سلام
برای اطلاعات بیشتر در مورد این متغییر به کتابخانه اصلی آن باید مراجعه بنمایید.
همچنین برای بررسی مقدار Heat Index Calculator میتوانید به این لینک مراجعه نمایید.
سلام من همه چیز رو درست وصل کردم اما دما و رطوبت رو ۰ میزنه مشکل از کتابخانه هست؟اگه کتابخانه مشکل داره چه کتابخانه ای رو جایگزین کنم
با سلام
از ماژول DHT11 استفاده میکند یا سنسور خالی DHT11؟
در صورتی که از سنسور خالی استفاده میکنید از یک مقاومت 10 کیلو بین VCC و پایه Data باید استفاده بکنید.