پروژه نمایش دما و رطوبت با استفاده از سنسور DHT11 با میکروپایتون

پروژه نمایش دما و رطوبت با استفاده از سنسور DHT11 با میکروپایتون ، در دنیای اینترنت اشیاء (IoT)، یکی از رایجترین و جذابترین پروژهها برای علاقهمندان و تازهواردها، ساخت سیستمهایی است که بتوانند اطلاعات محیطی مانند دما و رطوبت را اندازهگیری کنند. در این مقاله، بهطور جامع و دقیق به پروژه «نمایش دما و رطوبت با استفاده از سنسور DHT11 و زبان برنامهنویسی MicroPython» خواهیم پرداخت. این آموزش نه تنها برای مبتدیان بسیار مناسب است، بلکه برای افراد با تجربه نیز نکات ارزشمندی دارد. اگر علاقهمند به یادگیری کار با بردهای میکروکنترلر مانند ESP8266 یا ESP32 و زبان MicroPython هستید، این مقاله میتواند نقطه شروعی عالی باشد.
معرفی سنسور DHT11
سنسور DHT11 یکی از محبوبترین سنسورهای اندازهگیری دما و رطوبت در پروژههای آردوینو و میکروپایتون است. قیمت پایین، سهولت استفاده، و دقت نسبتاً قابل قبول، آن را به انتخابی عالی برای پروژههای آموزشی و نیمهحرفهای تبدیل کرده است.
- ویژگیهای اصلی DHT11:
- اندازهگیری دما در بازه 0 تا 50 درجه سانتیگراد (با دقت ±2 درجه)
- اندازهگیری رطوبت در بازه 20% تا 90% (با دقت ±5%)
- فقط نیاز به یک پایه دیتا برای ارتباط دارد
- نرخ نمونهبرداری: هر 1 ثانیه
چرا MicroPython؟
MicroPython نسخهای سبکشده از زبان پایتون است که برای اجرا روی بردهای کوچک طراحی شده. این زبان به دلیل سادگی، خوانایی بالا و سرعت توسعه، گزینهای بسیار مناسب برای کنترلکنندههای کوچکی مانند ESP8266 و ESP32 است. استفاده از MicroPython به جای C یا C++ باعث میشود زمان توسعه پروژه بهطور چشمگیری کاهش یابد و خطاهای کمتری در برنامهنویسی رخ دهد.
وسایل مورد نیاز
- برد NodeMCU ESP8266 یا ESP32
- سنسور DHT11 (بهتر است نوع دارای مقاومت پولآپ داخلی باشد)
- کابل MicroUSB
- نرمافزار Thonny IDE یا uPyCraft برای برنامهنویسی
- کتابخانه
dht
در MicroPython
نقشه اتصال سختافزاری
برای اتصال سنسور DHT11 به برد NodeMCU:
- پایه VCC سنسور → 3.3V برد
- پایه GND سنسور → GND برد
- پایه DATA سنسور → GPIO2 یا هر GPIO دلخواه (مثلاً D4)
نصب MicroPython روی برد ESP8266 یا ESP32
برای استفاده از MicroPython ابتدا باید فریمور آن را روی برد فلش کنید. مراحل به صورت خلاصه:
- نصب ابزار esptool و دریافت firmware از سایت رسمی MicroPython: micropython.org
- اتصال برد به کامپیوتر و اجرای دستور فلش کردن:
esptool.py --port COMx erase_flash
esptool.py --port COMx --baud 460800 write_flash --flash_size=detect 0 firmware.bin
کد نمونه برای خواندن دما و رطوبت
پس از نصب فریمور و اجرای محیط برنامهنویسی (مانند Thonny)، کد زیر را آپلود کرده و اجرا کنید:
import dht
import machine
import time
sensor = dht.DHT11(machine.Pin(2)) # اتصال به GPIO2
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print("دما: {} \u00b0C | رطوبت: {}%".format(temp, hum))
except OSError as e:
print("خطا در خواندن سنسور")
time.sleep(2)
توضیح کد
- ابتدا سنسور DHT11 به پایه GPIO2 متصل میشود.
- با استفاده از متد
measure()
دادهها خوانده میشوند. - سپس با استفاده از
temperature()
وhumidity()
به ترتیب دما و رطوبت دریافت میشود. - نتایج در هر دو ثانیه روی سریال مانیتور چاپ میشوند.
نکات کاربردی برای اجرای بهتر پروژه
- همیشه از کابل USB باکیفیت استفاده کنید تا ارتباط مطمئن با برد داشته باشید.
- از محیطی با رطوبت کنترلشده برای تست استفاده کنید تا مقادیر واقعیتری ثبت شوند.
- در صورت بروز خطا، اتصال پایهها و مقاومت پولآپ را بررسی کنید.
موارد استفاده واقعی
این پروژه میتواند پایهای برای بسیاری از پروژههای بزرگتر باشد، مانند:
- سیستمهای مانیتورینگ محیطی هوشمند
- ایستگاههای هواشناسی خانگی
- کنترل گلخانهها بر اساس شرایط محیطی
- ساخت داشبورد تحت وب برای نمایش مقادیر دما و رطوبت در شبکه محلی
سوالات متداول (FAQ)
- آیا میتوان از سنسور DHT22 به جای DHT11 استفاده کرد؟
بله، فقط کافی است در کدdht.DHT11
را بهdht.DHT22
تغییر دهید. - آیا MicroPython از همه ویژگیهای پایتون پشتیبانی میکند؟
خیر، نسخهای سبکشده است و برخی ماژولها و امکانات را ندارد. ولی برای پروژههای IoT کاملاً کافی است. - اگر برد من در سریال مانیتور چیزی نشان نداد چه کنم؟
ابتدا از صحت اتصالات اطمینان حاصل کنید، سپس تنظیمات پورت و baud rate را در IDE بررسی نمایید. - چرا دما و رطوبت همیشه مقدار ثابتی دارند؟
ممکن است سنسور مشکل داشته باشد یا به درستی مقداردهی اولیه نشده باشد. همچنین بررسی کنید که محیط تغییر محسوسی داشته باشد.
جمعبندی و نتیجهگیری
پروژه خواندن دما و رطوبت با استفاده از سنسور DHT11 و MicroPython، یکی از پروژههای پایهای و در عین حال بسیار کاربردی در دنیای الکترونیک و اینترنت اشیاء است. این پروژه نه تنها یادگیری برنامهنویسی و الکترونیک را تقویت میکند، بلکه دید مناسبی برای ساخت پروژههای بزرگتر ارائه میدهد. اگر به دنیای IoT علاقهمند هستید، این پروژه میتواند نقطه شروعی عالی باشد.
اگر این مقاله پروژه نمایش دما و رطوبت با استفاده از سنسور DHT11 با میکروپایتون برای شما مفید بود، آن را با دوستان خود به اشتراک بگذارید و برای مشاهده آموزشهای بیشتر به سایت ما سر بزنید.
برای مطالعه منابع بیشتر:
مطلب پیشنهادی
کنترل LED با میکروپایتون پروژه روشن و خاموش کردن LED
دیدگاههای محترمانه: لطفاً نظرات خود را با رعایت احترام به دیگران و به صورت محترمانه ارسال کنید. از بهکار بردن زبان توهینآمیز، تهدیدآمیز یا نژادپرستانه خودداری کنید.
حفظ حریم خصوصی: از درج اطلاعات شخصی خود یا دیگران مانند شماره تماس، آدرس و هرگونه اطلاعات حساس خودداری کنید.
محتوای تبلیغاتی: ارسال دیدگاههای تبلیغاتی، لینکهای خارجی یا هر نوع محتوای تجاری که مرتبط با موضوع نباشد، ممنوع است.
موافقت با قوانین: با ارسال دیدگاه خود، شما تأیید میکنید که قوانین فوق را خوانده و با آنها موافقید. تیم ما حق دارد نظرات غیرمجاز را حذف کند.
پروژه های پیشنهادی
پروژه ریموت کنترل کدلرن حرفه ای
مشاهده پروژهپروژه ساعت کنترل زمان بندی رله با اردوینو
مشاهده پروژهپروژه قفل دیجیتال با ماژول RFID RC522
مشاهده پروژه