خانه » ارتباط ماژول دما و رطوبت DHT11 با آردوینو
آخرین بروز رسانی: 12 اسفند 1401

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

با استفاده از ماژول سنسور دیجیتالی دما و رطوبت ارزان قیمت DHT11 محصولی از شرکت AOSONG، به پروژه بعدی آردوینوی خود توانایی حس کردن جهان اطراف را بدهید. اندازه­ گیری دما و رطوبت با استفاده از این سنسور بسیار ساده بوده، چرا که این سنسور از پیش کالیبره شده است و به اجزا و قطعات دیگری برای راه ­اندازی و استفاده نیاز ندارد.

اجزای مورد نیاز

شما به اجزای زیر نیاز دارید:

بررسی کلی سخت افزار ماژول DHT11

در قلب ماژول، سنسور دیجیتال دما و رطوبت ساخته شده توسط AOSONG – DHT11 قرار دارد.

سنسور DHT11

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

توجه داشته باشید که نرخ نمونه برداری DHT11، 1 هرتز است، به این معنی که می­توانید در هر ثانیه، داده­های جدیدی از آن دریافت کنید.

مدار پشتیبانی

ماژول با تمام مدارهای پشتیبانی ضروری ساخته شده است، بنابراین بدون هیچ تجهیزات و مدارات اضافه­ ای قادر به اندازه ­گیری دما و رطوبت میباشد.

سنسورهای DHT11 معمولاً برای برقراری ارتباط مناسب بین سنسور و آردوینو به یک مقاومت pull-up خارجی با مقداری برابر با  10KΩ نیاز دارند که بایستی بین VCC و Outpin قرار بگیرد. با این حال، ماژول دارای یک مقاومت pull-up داخلی است، بنابراین نیازی به اضافه کردن این مقاومت به صورت خارجی ندارید. این ماژول همچنین دارای یک خازن جداکننده برای فیلتر کردن نویز در منبع تغذیه است.

DHT11 چگونه دما و رطوبت را اندازه گیری می کند؟

در داخل DHT11، یک حسگر رطوبت به همراه یک ترمیستور وجود دارد.

حسگر رطوبت در حقیقت از دو الکترود و یک لایه­­ی نگهدارنده­ی رطوبت که در بین این دو الکترود قرار گرفته(مانند یک دی­الکتریک) تشکیل شده است.

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

تغییر مقاومت بین دو الکترود و رطوبت نسبی با یکدیگر تناسب معکوس دارند. بدین معنا که با افزایش رطوبت نسبی، مقاومت بین الکترودها کاهش می­یابد. در حالی که کاهش رطوبت نسبی باعث افزایش مقاومت بین الکترودها می­شود.

DHt11 برای اندازه ­گیری دما از یک ترمیستور NTC استفاده میکند. ترمیستورها مقاومت­های وابسته به دما می­باشند. در حقیقت عبارت NTC به معنای ضریب دمای منفی است، به این معنی که با افزایش دما مقاومت کاهش می­ یابد.

در طرف دیگر این سنسور، یک PCB کوچک با یک آی­سی با پکیج 8 بیتی SOIC-14 وجود دارد. این آی­سی با کمک گرفتن از ضرایب کالیبراسیون ذخیره شده بر روی آن، اندازه­ گیری و پردازش سیگنال آنالوگ اندازه­گیری شده را انجام میدهد و سپس با تبدیل آن به سیگنال دیجیتال، مقدار دما و رطوبت اندازه­ گیری شده را به صورت خروجی ارائه می­دهد.

پایه­ های ماژول DHT11

اتصال ماژول DHT11 نسبتاً آسان است. این سنسور فقط سه پین ​​دارد:

پایه VCC: برق سنسور را تامین می­کند. برای تامین تغذیه­ی سنسور میتوان از ولتاژی بین 3/3 تا 5 ولت استفاده نمود. با این حال، بهتر است از منبع تغذیه 5 ولت استفاده کنید، چرا که در این صورت می­توانید سنسور را در فاصله­ی 20 متری از مدار نگه دارید(بدون آنکه در دقت اندازه­گیری سنسور تغییری ایجاد شود). اگرچه دستگاه با ولتاژ تغذیه 3.3 ولت نیز کار میکند اما در این صورت طول کابل نباید بیشتر از 1 متر باشد؛ زیرا افت ولتاژ خطی منجر به خطا در اندازه ­گیری می­شود.

پایه OUT: برای ارتباط بین سنسور و آردوینو استفاده می­شود.

پایه GND: باید به زمین آردوینو متصل شود.

سیم کشی ماژول DHT11 به آردوینو

بیایید ماژول DHT11 را به آردوینو متصل کنیم.

اتصالات نسبتا ساده هستند. با اتصال پین + (VCC) به خروجی 5 ولت آردوینو شروع کنید و – (GND) را به زمین وصل کنید. در نهایت، پین Out را به پایه دیجیتال شماره 8 وصل کنید.

تصویر زیر، چگونگی اتصال سنسور به آردوینو را نشان می­دهد:

نصب کتابخانه DHT

سنسورهای DHT11  برای انتقال داده از پروتکل تک سیم خود استفاده میکنند. برای استفاده از این پروتکل نیاز به زمان بندی دقیق دارید. که خوشبختانه، کتابخانه DHT برای حل کردن تمام این پیچیدگی­ها نوشته شده است تا بتوانیم دستورات ساده ­ای برای خواندن داده­ های دما و رطوبت داشته باشیم.

برای نصب این کتابخانه، Arduino IDE را باز کنید، به Sketch > Include Library > Add .ZIP Library بروید و سپس فایل ZIP DHTlib را که به تازگی دانلود کرده ­اید انتخاب کنید.

کد آردوینو مثال پایه

هنگامی که کتابخانه را نصب کردید، می­توانید دستوراتی که در ادامه آورده شده است را در Arduino IDE کپی کنید.

دستورات زیر مقادیر دما و رطوبت نسبی را روی نمایشگر سریال چاپ می­کند. این دستورات را امتحان کنید. در ادامه به توضیح جز به جز دستورات می­پردازیم.

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

توضیح کد:

در ابتدا بایستی کتابخانه­ی سنسور را به دستورات اضافه نمایید. سپس بایستی آن پین ​​آردوینو که outpin سنسور به آن متصل است، تعریف شود. سپس یک شی DHT برای دسترسی به توابع خاص مربوط به کتابخانه ایجاد می­کنیم.

در تابع “setup”؛ بایستی ارتباط سریال را تعریف کنیم چرا که برای چاپ نتایج از نمایشگر سریال استفاده میکنیم.

در تابع حلقه تکرار برنامه؛ ما با استفاده از تابع read11() داده­ های را از حسگر می­خوانیم. این تابع، شماره­ پین ​​داده­ سنسور(outPin) را به عنوان پارامتر ورودی می­گیرد.

هنگامی که مقادیر رطوبت و دما محاسبه شد، می توانیم با استفاده از دستورات زیر به آنها دسترسی پیدا کنیم:

شی DHT مقدار دما را بر حسب سانتیگراد (درجه سانتیگراد) برمی­گرداند. با استفاده از یک فرمول ساده می­توان آن را به فارنهایت (°F) تبدیل کرد:

T(°F) = T(°C) × 9/5 + 32

کد آردوینو – نمایش نتایج بر روی LCD

گاهی اوقات ممکن است که بخواهید سطح دما و رطوبت را در انکوباتور DIY خود مشاهده کنید. در آن صورت احتمالاً به جای نمایشگر سریال، به LCD کاراکتری 16×2 برای نمایش دما و رطوبت در انکوباتور خود نیاز خواهید داشت. بنابراین، در این مثال، ال سی دی را به همراه ماژول DHT11 به آردوینو متصل می­کنیم. خروجی به شکل زیر خواهد بود:

در صورتی که با LCD های کاراکتری 16×2 آشنایی ندارید، میتوانید با مطالعه­ آموزش زیر با نحوه­ کار با این نمایشگرها آشنا شوید.

مطابق شکل زیر، می­توانید LCD را به آردوینو متصل کنید:

دستورات زیر، مقادیر دما و رطوبت نسبی را روی LCD کاراکتری 16×2 چاپ می­کنند. این دستورات مشابه با دستورات مثال قبل می باشند با این تفاوت که دستورات مربوط به نمایش دما و رطوبت نسبی بر روی نمایشگر به آن اضافه شده است.

دسته‌بندی: آموزش آردوینو

مقالات مرتبط رو حتما ببینید

نظر شما برای ما با ارزشه

0 دیدگاه