راه اندازی سنسورهای DHT11 و DHT22 | آیا می‌خواهید یک گزارش از اقلیم گلخانه خود نگهداری کنید، یک سیستم کنترل مرطوب ساز بسازید، یا داده‌های دما و رطوبت را برای یک پروژه ایستگاه هواشناسی ردیابی کنید؟ حسگر دما و رطوبت DHT11 یا DHT22  مناسب شما است!

این حسگر‌ها نیازی به هیچ قطعه خارجی برای عملکرد ندارند. با تنها چند اتصال و کد کمی اردوینو، می‌توانید فوراً شروع به اندازه گیری رطوبت نسبی و دمای محیط کنید.

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

راه اندازی سنسورهای DHT11 و DHT22

DHT11 در مقابل DHT22

این دو حسگر بیشترین استفاده را در سری DHTxx دارند. آن‌ها به نظر می‌رسد کمی مشابه هستند و همان پین‌های خروجی را دارند، اما مشخصات آن‌ها متفاوت است.

از بین این دو، DHT22 گرانتر است و بدون شک مشخصات بهتری دارد. DHT22 می‌تواند دما را از -۴۰°C تا +۱۲۵°C با دقت ±۰.۵°C اندازه گیری کند، در حالی که DHT11 می‌تواند دما را از ۰°C تا ۵۰°C با دقت ±۲°C اندازه گیری کند. به علاوه، حسگر DHT22 می‌تواند رطوبت نسبی را از ۰ تا ۱۰۰٪ با دقت ۲-۵٪ اندازه گیری کند، در حالی که حسگر DHT11 تنها می‌تواند رطوبت نسبی را از ۲۰ تا ۸۰٪ با دقت ۵٪ اندازه گیری کند.

در این‌جا مشخصات آن‌ها هستند:

DHT11 Temperature Humidity Sensor Fritzing part Illustration
DHT22 Temperature Humodoty Sensor Fritzing part Illustration
DHT11 DHT22
ولتاژ عملیاتی ۳ to 5V ۳ to 5V
جریان عملیاتی حداکثر ۲.۵mA max ۲.۵mA max
محدوده رطوبت ۲۰-۸۰% / ۵% ۰-۱۰۰% / ۲-۵%
محدوده دما ۰-۵۰°C / ± ۲°C -۴۰ to 80°C / ± ۰.۵°C
نرخ نمونه برداری ۱Hz (reading every second)  ۰.۵Hz (reading every 2 seconds)
اندازه ۱۵.۵mm x 12mm x 5.5mm ۱۵.۱mm x 25mm x 7.7mm
مزیت Ultra low cost More Accurate

راه اندازی سنسورهای DHT11 و DHT22

با وجود اینکه DHT22 دقیق‌تر و قابلیت عملکرد در یک دامنه گسترده تر از دما و رطوبت را دارد، سه حوزه وجود دارد که DHT11 به طور کامل از DHT22 پیشی می‌گیرد – قیمت ارزان‌تر، فضای کمتر و نرخ نمونه‌برداری بالاتر دارد. DHT11 در هر ثانیه یکبار (یا نرخ نمونه‌برداری ۱ هرتز) اطلاعات را برمی‌دارد، در حالی که DHT22 هر دو ثانیه یکبار اطلاعات را برمی‌دارد (یا نرخ نمونه‌برداری ۰.۵ هرتز).

با این تفاوت‌ها، ولتاژ عملکردی هر دو سنسور از ۳ تا ۵ ولت متغیر است، با حداکثر جریان ۲.۵ میلی‌آمپر (در زمان تبدیل). بهترین قسمت این است که سنسورهای DHT11 و DHT22 قابل تعویض هستند، به این معنی که اگر پروژه خود را با یکی از آنها ایجاد کرده‌اید، می‌توانید به آسانی آن را جدا کرده و با دیگری جایگزین کنید. شاید کد شما بخواهد کمی تنظیم شود، اما سیم‌کشی باقی مانده است!

آموزشگاه رباتیک ایران

در داخل سنسور DHT

اگر قابلیت راه‌انداز سنسور را بردارید، درون آن شمایل NTC و یک اجزای حسگر رطوبت را خواهید یافت.

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

قطعه “حسگر رطوبت” دارای دو الکترود با یک زیرسطح نگهدارنده رطوبت (معمولاً نمک یا پلیمر پلاستیکی هادی) بین آن‌هاست. با افزایش رطوبت، زیرسطح بخار آب را جذب کرده و منجر به انتشار یون‌ها و کاهش مقاومت بین دو الکترود می‌شود. این تغییر در مقاومت به نسبت رطوبت بوده و می‌توان آن را اندازه‌گیری کرد تا رطوبت نسبی را تخمین زد.

ساختار داخلی سنسور

ساختار داخلی سنسور

سنسور شامل یک ترمیستور NTC برای اندازه گیری دما نیز است. ترمیستور یک نوع مقاومت‌ دهنده است که مقاومت آن با دما تغییر میکند.

ترمیستورها به گونه‌ای طراحی شده‌اند که مقاومت آنها به طور چشمگیر با دما تغییر کند (حداقل ۱۰۰ اهم یا بیشتر در هر درجه)، عبارت”NTC” برای “ضریب منفی دما” است که به این معنی است که مقاومت کاهش می‌یابد هر چه دما بالاتر رود.

ترمیستور NTC با منحنی ویژگی

ترمیستور NTC با منحنی ویژگی

سنسور شامل یک تراشه‌ی بسته‌بندی شده ۸-بیتی SOIC-14 نیز می‌شود. این تراشه، سیگنال آنالوگ را با استفاده از ضرایب کالیبراسیون ذخیره‌شده اندازه‌گیری و پردازش می‌کند، سیگنال آنالوگ را به دیجیتال تبدیل می‌کند و یک سیگنال دیجیتال شامل دما و رطوبت را خروجی می‌دهد.

پین‌های DHT11 و DHT22

اتصال سنسور‌های DHT11 و DHT22 نیز نسبتاً ساده است. آن‌ها چهار پین دارند:

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

پین VCC تغذیه برق را به حسگر ارائه می‌دهد. با وجود اینکه ولتاژ تامین برق از ۳.۳ ولت تا ۵.۵ ولت متغیر است، تامین برق ۵ ولت توصیه می‌شود. با منبع تغذیه ۵ ولت، حسگر می‌تواند تا ۲۰ متر دور قرار گیرد. با ولتاژ تامین ۳.۳ ولت، حسگر می‌تواند تا ۱ متر دور قرار گیرد؛ در غیر این صورت، کاهش ولتاژ خط باعث ایجاد خطاهای اندازه‌گیری می‌شود.

پین داده برای ارتباط بین حسگر و میکروکنترلر استفاده می‌شود.

NC به پین های اتصال ندارد.

GND پین زمین است.

راه اندازی سنسورهای DHT11 و DHT22

اتصال سنسورهای DHT11 و DHT22 به یک آردوینو

حالا وقتشه که سنسور رو به آردوینو وصل کنیم!

اتصال سنسورهای DHT به آردوینو خیلی راحته. پین‌هایشون با pitch 0.1 اینچی هستند که به راحتی می‌تونند به هر بردبندی وصل بشن. پین VCC رو به ۵ ولت آردوینو و پین GND رو به زمین وصل کن. در نهایت، پین دیتا رو به پین دیجیتال #۸ وصل کن.

برای اطمینان از ارتباط صحیح بین سنسور و میکروکنترلر، باید همچنین یک مقاومت pull-up 10K بین خط دیتا و VCC اضافه کنی (تا سیگنال روی حالت HIGH باقی بمونه). اگر یک برد breakout برای سنسور دارید، نیازی به اضافه کردن یک مقاومت pull-up خارجی ندارید، زیرا از قبل یکی داره.

اتصال ِDTH ۱۱ به آردوینو یونو

اتصال ِDTH ۱۱ به آردوینو یونو

راه‌اندازی DHT22 به آردوینو یونو

راه‌اندازی DHT22 به آردوینو یونو

حالا آماده‌ای برای آپلود کد و اجرای آن هستی.

نصب کتابخانه

سنسورهای DHTxx پروتکل انتقال داده تک سیمی اختصاصی خود را دارند. این پروتکل به زمان‌بندی دقیق نیاز دارد. اما ما نیازی به نگرانی زیاد از این مورد نداریم، چون ما از کتابخانه DHTlib استفاده خواهیم کرد که تقریبا همه چیز را انجام می‌دهد.

برای نصب کتابخانه، به مسیر Sketch > Include Library > Manage Libraries… بروید و منتظر بمانید تا مدیر کتابخانه فهرست کتابخانه‌های نصب شده را بروزرسانی و دانلود کند.

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

پس از وارد کردن ‘dhtlib’ در جستجوی خود، فیلتر کنید. تنها باید یک مورد وجود داشته باشد. بر روی آن کلیک کنید و سپس انتخاب ‘نصب’ را برگزینید.

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

آموزشگاه رباتیک و الکترونیک ایران

مثال ۱ – نمایش خواندن در مانیتور سریال

بعد از نصب کتابخانه، این اسکچ را در محیط Arduino IDE کپی و پیست کنید. اسکچ آزمایشی زیر مقدار دما و رطوبت نسبی را در مانیتور سریال چاپ می‌کند. این اسکچ را امتحان کنید، و بعد به جزییات بیشتر آن می‌پردازیم.

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

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

توضیح کد:

ابتدا کتابخانه DHT اضافه کنید. پس از آن، شماره پین آردوینو که پین داده سنسور ما به آن وصل شده است، مشخص می‌شود و یک شی DHT ایجاد می‌شود.

در راه‌اندازی، ارتباط سریال را مقدماتی می‌کنیم.

در حلقه، ما از تابع read22(dataPin) برای خواندن DHT22 استفاده می کنیم. این تابع با گرفتن شماره پین دیتای سنسور به عنوان پارامتر عمل می کند. هنگام کار با DHT11، شما باید از تابع read11() استفاده کنید؛ برای انجام این کار، تنها کافی است خط دوم را غیرفعال کنید.

اکنون می‌توانیم ارزش‌های رطوبت و دما را با دسترسی به خصوصیت‌های شیء DHT با استفاده از نمایش نقطه دسترسی دهیم.

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

T(°F) = T(°C) × ۹/۵ + ۳۲

در اینجا مثالی ارائه شده است که نشان دادن مقادیر خوانده شده بر روی نمایشگر مایع کریستالی ۱۶×۲ را نشان می‌دهد. اگر شما در حال ساخت یک دستگاه نگهدارنده یا یک پروژه مشابه هستید، به جای یک مانیتور سریال برای نمایش دما و رطوبت فعلی، نیاز به یک نمایشگر کاراکتری LCD 16×۲ دارید. بنابراین، در این مثال، ما همچنین نمایشگر LCD را به آردوینو به علاوه سنسورهای DHT11 و DHT22 متصل خواهیم کرد.

راه اندازی سنسورهای DHT11 و DHT22

راه اندازی سنسورهای DHT11 و DHT22

سیم کشی:

پس از آن، ال سی دی را به شکل زیر وصل کنید.

اتصال DHT11 و نمایشگر کاراکتری 16x2 به آردوینو یونو

اتصال DHT11 و نمایشگر کاراکتری ۱۶×۲ به آردوینو یونو

اتصال DHT22 و نمایشگر 16×2 کاراکتری به آردوینو یونو

اتصال DHT22 و نمایشگر ۱۶×۲ کاراکتری به آردوینو یونو

کد آردوینو:

کد زیر دما و رطوبت نسبی را بر روی نمایشگر متنی ۱۶×۲ نمایش می‌دهد. این کد مشابه کد قبلی است، به جز اینکه مقادیر بر روی نمایشگر چاپ می‌شود.

شعبه بابل:  پل کارگر به سمت کشوری، روبروی ماکروویو، جنب فروشگاه جانبو

موبایل:  ۰۹۱۱۹۵۱۴۸۸۲

خط ثابت:  ۰۱۱۳۲۲۲۳۹۲۹

ایمیل: info@khanerobotic.ir

اینستاگرام: khanerobotic

شعبه ساری:  خیابان مهدیه، نبش بهمن شرقی

موبایل: ۰۹۱۱۷۱۲۹۸۶۴

خط ثابت: ۰۱۱۳۳۲۰۸۹۰۷

ایمیل: info@khanerobotic.ir

اینستاگرام: salam.electronic