ساختن ابزار اندازهگیری دما/رطوبت خودتان میتواند تجربهای سرگرمکننده و پاداشدهنده باشد. با استفاده از میکروکنترلر آردوینو، این پروژه DIY میتواند برای نظارت بر دما و رطوبت اتاق شما، بهویژه در تابستانهای گرم، مورد استفاده قرار گیرد.
ساختن دستگاه اندازهگیری دما/رطوبت میتواند تجربهای سرگرمکننده و رضایتبخش باشد. با استفاده از میکروکنترلر آردوینو، این پروژه DIY میتواند برای نظارت بر دمای اتاق و رطوبت آن، بهویژه در تابستانهای گرم، به کار رود.
علاوه بر این، میتواند به شما در ارزیابی عملکرد کولر گازی کمک کند. برای حسگر دما و رطوبت، از یک حسگر الکترونیکی استفاده میکنیم که به میکروکنترلری متصل میشود که دادههای حسگر را دریافت کرده و بر روی یک نمایشگر نشان میدهد.
موارد مورد نیاز
برای این پروژه DIY، به اجزاء زیر نیاز داریم:
- میکروکنترلر Arduino Mega
- سیمهای اتصال
- کابل USB Type-A به USB Type-B
- حسگر DHT22
- نمایشگر LCD 16×2
- لپتاپ یا کامپیوتر با نرمافزار Arduino نصب شده
- برد بورد (راهنمای ما برای using a breadboard)
- مقاومتها یا یک پوتنسیومتر
مرحله ۱: اتصال میکروکنترلر Arduino Mega

برد آردوینو را با استفاده از کابل USB به رایانه یا لپتاپ خود متصل کنید. این کابل نه تنها ماژول آردوینو را روشن میکند و به عنوان منبع تغذیه عمل میکند، بلکه به رایانه اجازه میدهد تا با برد آردوینو برای اجرای کد و دستورات ارتباط برقرار کند. وقتی از طریق کابل USB به رایانه متصل میشود، آردوینو نشان میدهد که در حالت عملیاتی است با روشن شدن چراغ LED آن.
از نوار منوی Arduino IDE، به تب Tools رفته و Arduino Mega را از گزینههای Board انتخاب کنید. بهطور مشابه، پورت COM را نیز تحت همان تب Tools انتخاب کنید.
مرحله ۲: آمادهسازی حسگر و LCD
این پروژه از حسگر دما/رطوبت DHT22 و صفحه نمایش LCD ۱۶×۲ استفاده میکند که برای آن به کتابخانههای مربوط به Arduino IDE نیاز دارید.
حسگر DHT22
حسگرهای DHT11 و DHT22 حسگرهای الکترونیکی هستند که دما و رطوبت محیط را اندازهگیری میکنند. آنها بر روی اصول مشابهی عمل میکنند، اما در بازههای مشخصاتی متفاوت هستند. برای این پروژه DIY، ما از حسگر DHT22 (بهویژه نسخه سیمی AM2302) استفاده میکنیم. DHT22 گزینه بهتری از نظر بازه گسترده و دقت برای هر دو حسگر دما و رطوبت است.
ماژول DHT22 / AM2302 دارای سه پین با پیکربندی زیر است:
|
پین |
نام |
عملکرد |
|---|---|---|
|
1 |
Vcc |
+5V برق |
|
2 |
Data |
داده برای رطوبت و دما |
|
3 |
Gnd |
زمین مشترک برای مسیر سیگنال |
آسانترین روش استفاده از حسگرهای DHT با میکروکنترلرهای آردوینو نصب کتابخانه DHT.h است که میتواند برای هر دو حسگر DHT11 و DHT22 استفاده شود. این کتابخانه معمولاً بهصورت پیشفرض در Arduino IDE نصب شده است. اگر موجود نیست، میتوانید آن را از Library Manager تحت تب Tools نصب کنید.

نمایشگر LCD 16×2
برای نمایش نتایج حسگر، از یک LCD 16×2 (display for the Arduino) استفاده میکنیم. این نمایشگر 16 پین سختافزاری دارد و برای کنترل عملکرد آن به یک رابط میکروکنترلر نیاز دارد. جدول زیر پینهای سختافزاری LCD و عملکرد آنها را نشان میدهد.
|
شماره پین |
نام |
عملکرد |
|---|---|---|
|
1 |
Gnd |
زمین مشترک |
|
2 |
Vdd |
+5VDC (منبع تغذیه LCD) |
|
3 |
Vee |
کنترل روشنایی |
|
4 |
RS |
انتخاب رجیستر |
|
5 |
R/W |
خواندن/نوشتن |
|
6 |
EN |
فعال/غیرفعال |
|
7 |
DB0 |
پین داده باس 0 |
|
8 |
DB1 |
پین داده باس 1 |
|
9 |
DB2 |
پین داده باس 2 |
|
10 |
DB3 |
پین داده باس 3 |
|
11 |
DB4 |
پین داده باس 4 |
|
12 |
DB5 |
پین داده باس 5 |
|
13 |
DB6 |
پین داده باس 6 |
|
14 |
DB7 |
پین داده باس 7 |
|
15 |
LED+ |
LED پسزمینه (+5V) |
|
16 |
LED- |
LED پسزمینه (زمین مشترک) |
LCD 16×2 میتواند با استفاده از چهار یا هشت باس داده نمایش دهد. در اینجا ما از چهار باس داده میکروکنترلر به LCD استفاده میکنیم. فقط چهار پین داده (DB4 تا DB7) LCD 16×2 به آردوینو متصل میشوند، بههمراه پینهای RS (Register Select) و EN (Enable).
در حالت ۴ بیتی، دادهها/دستورات به صورت یک نیمبایت ۴ بیتی ارسال میشوند. ابتدا یک بخش ۴ بیتی بالا ارسال میشود و سپس بخش ۴ بیتی پایین. بهسبب این اتصالها، میتوانیم چهار پین GPIO روی آردوینو را ذخیره کنیم که میتوانند برای برنامههای دیگر استفاده شوند. توجه داشته باشید که هدف از پینهای ۱۵ و ۱۶ (LED پسزمینه) روشن کردن نمایشگر برای بهبود دید است.
میتوانید از کتابخانه Arduino LiquidCrystal.h برای کنترل LCD 16×2 استفاده کنید. این کتابخانه معمولاً بهصورت پیشفرض نصب است. اگر موجود نیست، میتوانید آن را از Library Manager تحت تب Tools در Arduino IDE نصب کنید.

مرحله ۳: ساخت مدار برای اتصال حسگر و LCD

طرح اتصال زیر برای این مدار استفاده شده است.
|
پین Arduino Mega |
پین LCD / DHT22 |
|---|---|
|
2 |
D4 LCD |
|
3 |
D5 LCD |
|
4 |
D6 LCD |
|
5 |
D7 LCD |
|
8 |
RS LCD |
|
9 |
EN LCD |
|
52 (SCK) |
پین خروجی داده حسگر DHT22 |
برد Arduino Mega اتصالات تغذیه را برای هر دو LCD و حسگر فراهم میکند، زیرا این ماژولها توان کمی مصرف میکنند و میتوان بهصورت راحتی از این برد تغذیه کرد. برای کنترل روشنایی LCD، از تقسیمگر ولتاژ مقاومتی استفاده میکنیم که حدود ۰.۱ تا ۰.۵ ولت را به پین ۳ (VEE) LCD میدهد تا روشنایی بهینه باشد. بهجای این تقسیمگر میتوان از پوتنسیومتر استفاده کرد. پین ۵ (R/W) LCD برای عملکرد فقط‑نوشتن به زمین وصل میشود.

مرحله ۴: بارگذاری کد خود به آردوینو
اکنون زمان بارگذاری کد شما به برد Arduino Mega برای انجام کار مورد نیاز است که شامل دریافت دادههای حسگر DHT22 و نمایش آنها بر روی LCD میشود.
کد این پروژه در این مخزن GitHub در دسترس است.
کد مطابق با اتصالات مدار نشان داده شده در مرحله ۳ طراحی شده است. اکنون میتوانید آن را برای ارزیابی عملکرد آزمایش کنید.
آزمون ماژول

برای اطمینان از عملکرد صحیح حسگر و تشخیص دما و رطوبت، حسگر را چند اینچ بالای یک پیمانه آب گرم (که بخار گرم میدهد) نگه میداریم. حسگر DHT22 را داخل آب فرو نکنید، زیرا ممکن است باعث کوتاهمدار و آسیب دائمی به حسگر شود! پس از چند ثانیه، افزایش دما و درصد رطوبت مشاهده میشود که نشان میدهد ماژول بهدرستی کار میکند.
شما ترموستات و رطوبتسنج خود را ساختید
حالا که ترموستات و رطوبتسنج خود را ساختید، میتوانید این ایده را با افزودن نظارت از راه دور بر دما و رطوبت گسترش دهید، بهوسیلهی انتقال این اطلاعات به یک دستگاه دیگر با استفاده از یک آداپتور Wi‑Fi یا بلوتوث. همچنین میتوانید از دادههای حسگر این ماژول برای فعالسازی خودکار کولر گازی یا سیستم استخراج هوا بهمنظور روشن و خاموش شدن بر پایه تنظیمات دلخواه استفاده کنید تا دما/رطوبت در داخل اتاق یا محل کار شما حفظ شود.