سنسور دما و رطوبت DHT11 دمای بین 0 تا 50 درجه سانتیگراد و رطوبت نسبی بین 20% و 90% را اندازهگیری میکند. اندازهگیریها در هر ثانیه با دقت 2± درجه سانتیگراد برای دما و 5%± برای رطوبت نسبی انجام میشوند. در یک رطوبت نسبی 0%، هوا کاملا خشک است، و در 100% میعان اتفاق میافتد. سنسور DTH11 به عنوان یک قطعه ارایه میشود یا اینکه روی یک PCB نصب میشود که شامل یک مقاومت pull-up ده کیلواهم بین سیگنال و اتصالات 5 ولت است. پایههای اتصال قطعه DHT11 یا DHT11 نصبشده برروی PCB همانطور که در شکل 1 نشان داده شده است، متفاوت هستند. یک مقاومت pull-up ده کیلو اهم باید بین سیگنال و پینهای 5 ولت قطعه DTH11 متصل شود. اتصالات قطعه DHT11 و DHT11 نصبشده بر رروی PCB در شکل 1 و جدول 1 مشخص شدهاند.
اتصال به | اتصال به | قطعه |
GND آردوینو | PCB DHT11 GND | |
5 V آردوینو | PCB DHT11 VCC | |
پین 7 آردوینو | PCB DHT11 OUT | |
GND آردوینو | DHT11 GND | |
مقاومت 10 کیلواهم | پین 7 آردوینو | DHT11 OUT |
مقاومت 10 کیلواهم | 5 ولت آردوینو | DHT11 VCC |
جدول.1. اتصالات برای سنسورهای DHT11
کدهای زیر ( بر روی مانیتور سریال ) اندازهگیریهای دما و رطوبت را برای قطعه DHT11 و ماژول DHT11 نشان داده شده در شکل 1 را نمایش میدهند. متنی روی مانیتور سریال پیش از مقدار خوانده شده دما یا رطوبت نمایش داده می شود این متن باید در ” ” قرار بگیرد. سنسورها مقادیر را با دستور delay (1000) هر یک ثانیه یک بار می خوانند. مولفه رطوبت سنسور DHT11 نسبت به تغییر حساستر از مولفه دما است.
#include // include dht library
dht DHT; // associate DHT with dht library
int DHTpin = 12; // DHT11 unit on pin 12
int PCBpin = 7; // PCB mounted DHT11 on pin 7
int check;
void setup()
{
Serial.begin(9600); // define Serial output baud rate
}
void loop()
{
check = DHT.read11(DHTpin); // read DHT11 sensor on DHTpin
Serial.print("DHT11 Unit temp: "); // print text followed by a space
Serial.print(DHT.temperature,0); // temperature reading, integer only
Serial.print("\thumidity: "); // print tab then text
Serial.println(DHT.humidity,0); // humidity reading, integer only
check = DHT.read11(PCBpin); // repeat for the DHT11 on PCB
Serial.print("DHT11 PCB temp: ");
Serial.print(DHT.temperature,0);
Serial.print("\thumidity: ");
Serial.println(DHT.humidity,0);
delay(1000); // delay one second
}
نصب کتابخانه
برای استفاده از سنسور DHT11 یک کتابخانه باید نصب شود. درحالیکه محیط IDE آردوینو دارای چندین کتابخانه برای مدیریت سخت افزار میباشد، همانند نوشتن بر روی SD کارت یا کنترل یک موتور، برای سنسور DHT11 باید این کتابخانه دانلود و درمحیط IDE آردوینو نصب شود.
روش اول نصب کتابخانه
- کتابخانه را در قالب یک فایل فشرده (zip) دانلود کنید و آن را در کامپیوتر ذخیره کنید.
- IDE آردوینو را باز کنید و این مسیر را Sketch -> include library –> zip library طی کنید
- محلی که فایل zip ذخیره شده انتخاب کنید.
- فایل zip شامل کتابخانه را انتخاب و آن را باز کنید. کتابخانه در مسیر پیش فرض Documents->Arduino->libraries نصب میشود.
- برای اطمینان از محل پیش فرض پوشه کتابخانه این مسیر را در IDE آردوینو چک کنید
File->preferences
روش دوم نصب کتابخانه
- کتابخانه را در قالب یک فایل zip دانلود و آن را در محل زیر از حالت فشرده خارج کنید: Document->Arduino->libraries
- برای اطمینان از محل پیش فرض پوشه کتابخانه در محیط IDE آردوینو مسیر File->preferences را چک کنید.
- نصب کتابخانه موردنظر از مسیر Sketch-> Include library نصب میشود، اما پیش از آن IDE Arduino باید ریاستارت شود.
روش سوم نصب کتابخانه
- چندین کتابخانه در محیط IDE آردوینو در دسترس هستند و نیازی به دانلود آنها بصورت فایل zip نیست. از این رو قبل از دانلود فایل zip کتابخانه موردنظر کتابخانه های موجود در IDE آردوینو را بررسی کنید.
- برنامه آردوینو را باز کنید سپس مسیر زیر را دنبال کنید.
Sketch->include library-> manage library
- در پنجره manage library برای یافتن کتابخانه موردنیاز از فیلترهای موجود استفاده کنید.
- برروی More info کلیک کنید و نسخه کتابخانه را انتخاب کنید و بر روی install کلیک کنید.
برای هر لیست کتابخانه، درون IDE آردوینو More info را برای دسترسی به GitHub برای مستندسازی کتابخانه و به روزرسانی انتخاب کنید.
در هر کتابخانه مثال هایی وجود دارد که از مسیر File->Example-> library name قابل دسترسی هستند.
برای سنسور DHT11 چندین کتابخانه وجود دارد. کتابخانه dht (DHTlib) ایجادشده توسط Rob Tilllaart پیشنهاد میشود. کتابخانه dht شامل یک فایل a.zip است که در آدرس https://github.com/RobTillaart/Arduino در دسترس است. از روش 1 و 2 برای نصب کتابخانه استفاده کنید.
یک کتابخانه با دستور include# به برنامه اضافه میشود. فایل libraryname.h در مسیر Documents->Arduino->libraries->library name folder قرار دارد. دقت کنید که در انتهای این دستور ; وجود ندارد.
تیم ردرونیک ( redronic ) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقهمندان به الکترونیک و برنامه نویسی فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید
3 دیدگاه در “راه اندازی سنسور DHT11 از طریق آردوینو”
با عرض سلام خدمت شما خانم مهندس بهبهانی. تشکر میکنم بابت مقاله کامل و مفیدتون.
در راستا همین مقاله، دوستانی که بخواهند داده های سنسور را با بلوتوث ارسال و توسط Node-RED مانیتور کنند می توانند از مقاله آموزشی در لینک زیر استفاده کنند.
https://sasnam.ir/sending-data-from-dht11-via-esp32-module-to-node-red/
با تشکر از همه مدیران سایت خوب ردرونیک با آرزو موفقیت.
مقدار مقاومت مهمه؟
سلام و احترام،
بله برای راحت درایو شدن باید مقاومت 10 کیلو استفاده شود.