ماژول دما و رطوبت DHT11 با کابل
سنسور DHT11 یک سنسور دما و رطوبت رقیق و دیجیتال است . این سنسور به طور گسترده در پروژهها و دستگاههای الکترونیکی کاربرد دارد و قابلیت اندازهگیری دما و رطوبت محیط را دارا میباشد.DHT11 از یک سنسور رطوبت سنج و یک سنسور دمایی تشکیل شده است. این سنسور با استفاده از سیگنال دیجیتالی و رابط یکپارچه برقراری ارتباط با میکروکنترلرها و سایر دستگاههای الکترونیکی را تسهیل میکند.DHT11 با دقت یک درجه سانتیگراد در اندازهگیری دما و با دقت ۵ درصد در اندازهگیری رطوبت عمل میکند. این سنسور از یک سیم دیجیتال برای انتقال دادههای اندازهگیری شده استفاده میکند و ارتباط با میکروکنترلر را از طریق پروتکل سیگنال دیجیتال یکپارچه (یا به اختصار I²C) برقرار میکند.به طور کلی، DHT11 یک سنسور ارزان قیمت و ساده است که در برنامههایی که نیاز به اندازهگیری دما و رطوبت محیط است، مورد استفاده قرار میگیرد. با این حال، برای کاربردهایی که نیاز به دقت بیشتری در اندازهگیری دما و رطوبت دارند، سنسورهای دیگری نیز در دسترس هستند که دقت بالاتری ارائه میدهند.
مشخصات فنی DHT11
- اندازه گیری دما:
محدوده دما: ۰-۵۰ درجه سانتیگراد
دقت دما: ±۲ درجه سانتیگراد
- اندازه گیری رطوبت:
محدوده رطوبت: ۲۰-۹۵ درصد
دقت رطوبت: ±۵ درصد
- ولتاژ تغذیه:
ولتاژ تغذیه: ۳.۳ ولت
جریان مصرفی: حداکثر ۲.۵ میلیآمپر
- رابط خروجی:
خروجی دیجیتال: سیگنال دیجیتال یکپارچه (I²C) با دقت ۸ بیت
- سایر ویژگیها:
زمان پاسخگویی: حدود ۲ ثانیه
زمان تأخیر بین اندازهگیریها: حدود ۲ ثانیه
بررسی پایه های سنسور DHT11
- VCC: این پایه برای تغذیه سنسور استفاده میشود و به طور معمول به ولتاژ 3.3 ولت وصل میشود.
- Data: این پایه برای انتقال دادههای اندازهگیری شده توسط سنسور به میکروکنترلر یا دستگاه مقصد استفاده میشود.
- NC (Not Connected): این پایه باقی میماند و برای کارکرد سنسور لازم نیست. در برخی مدلها ممکن است این پایه برای ارتباطات اضافی یا امکانات دیگر استفاده شود.
- GND: این پایه به زمین (Ground) متصل میشود و برای اتصال به منبع تغذیه منفی استفاده میشود.
به همراه سنسور DHT11 چه اقلامی باید خریداری شود؟
- برد آردوینو و یا ESP
- نمایشگر OLED
- کابل فلت
- برد بورد
راه اندازی سنسور DHT11 با آردوینو
جهت راه اندازی سنسور DHT11 بایستی در ابتدا کتابخانه DHT نصب شده باشد. جهت نصب کتابخانه از مسیر "Sketch" -> "Include Library" -> "Manage Libraries" جستجو کنید و "DHT sensor library by Adafruit" را انتخاب کنید و روی "Install" کلیک کنید.در این کد، ابتدا کتابخانه DHT را وارد میکنیم و پینی که سنسور DHT11 به آن متصل شده است (DHTPIN) و نوع سنسور DHT (DHTTYPE) را تعریف میکنیم.در تابع setup()، ارتباط سریال را آغاز میکنیم و سنسور DHT را با استفاده از dht.begin() مقداردهی اولیه میکنیم.در تابع loop()، با استفاده از dht.readTemperature() و dht.readHumidity() دما و رطوبت را خوانده و با استفاده از isnan() مطمئن میشویم که اعداد خوانده شده معتبر هستند. اگر اعداد معتبر باشند، مقادیر دما و رطوبت را با استفاده از Serial.print() و Serial.println() در مانیتور سریال چاپ میکنیم.کد را به برد آردوینو خود بارگذاری کنید، مانیتور سریال را با سرعت baud 9600 باز کنید و باید مشاهده کنید که مقادیر دما و رطوبت هر 2 ثانیه یکبار چاپ میشوند.
#include <DHT.h> // اضافه کردن کتابخانه DHT
#define DHTPIN 2 // تعریف پینی که سنسور DHT11 به آن متصل است
#define DHTTYPE DHT11 // تعریف نوع سنسور DHT (DHT11 یا DHT22)
DHT dht(DHTPIN, DHTTYPE); // ایجاد یک شیء DHT
void setup() {
Serial.begin(9600); // مقداردهی اولیه ارتباط سریال
dht.begin(); // مقداردهی اولیه سنسور DHT
}
void loop() {
delay(2000); // انتظار برای 2 ثانیه بین اندازهگیریها
float temperature = dht.readTemperature(); // خواندن دما به درجه سانتیگراد
float humidity = dht.readHumidity(); // خواندن رطوبت
if (isnan(temperature) || isnan(humidity)) {
Serial.println("خطا در خواندن از سنسور DHT!");
return;
}
Serial.print("دما: ");
Serial.print(temperature);
Serial.print(" درجه سانتیگراد\t");
Serial.print("رطوبت: ");
Serial.print(humidity);
Serial.println(" درصد");
}
راه اندازی سنسور DHT11 با میکروپایتون
در این کد، ابتدا ما ماژول dht، کلاس Pin از ماژول machine و ماژول time را وارد میکنیم.سپس یک نمونه از کلاس DHT11 را با شماره پینی که سنسور DHT11 به آن متصل شده است (Pin(2)) ایجاد میکنیم. باید شماره پین را بر اساس برد خود تنظیم کنید.در داخل حلقه بینهایت while، ابتدا با استفاده از time.sleep(2) به مدت 2 ثانیه منتظر میمانیم .سپس از یک بلوک try-except برای رسیدگی به هر گونه خطا که ممکن است در زمان اندازهگیری دما رخ دهد استفاده میکنیم. در بلوک try، با فراخوانی sensor.measure() اندازهگیری دما را انجام میدهیم و سپس با استفاده از sensor.temperature() و sensor.humidity() دما و رطوبت را میخوانیم.اگر اندازهگیری دما و رطوبت صحیح باشد، مقادیر دما و رطوبت را با استفاده از print() در کنسول چاپ میکنیم.در صورتی که خطایی در خواندن از سنسور DHT رخ دهد، با استفاده از بلوک except استثنا OSError را میگیریم و پیام خطا را چاپ میکنیم.در نهایت، قبل از اندازهگیری بعدی، به مدت 2 ثانیه تاخیر میکنیم.
import dht
from machine import Pin
import time
sensor = dht.DHT11(Pin(2)) # تعریف پینی که سنسور DHT11 به آن متصل است
while True:
time.sleep(2) # انتظار برای 2 ثانیه بین اندازهگیریها
try:
sensor.measure() # انجام اندازهگیری
temperature = sensor.temperature() # خواندن دما به درجه سانتیگراد
humidity = sensor.humidity() # خواندن رطوبت
print("دما:", temperature, "°C")
print("رطوبت:", humidity, "%")
except OSError as e:
print("خطا در خواندن از سنسور DHT:", e)
time.sleep(2) # تاخیر قبل از اندازهگیری بعدی
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- دماسنج - Thermometer
- سطح تجربه مورد نیاز
- مبتدی
- ابعاد
- 29x13mm
- ولتاژ مورد نياز
- 3.3 تا 5 ولت DC
- دمای کاری
- 0 تا 50 درجه سانتی گراد
- تعداد پایه ها
- 3 پایه
- اقلام همراه محصول
- دارای ال ای دی LED
- کد تجاری ماژول و برد
- DHT11
- نوع سنسور
- دما رطوبت
این برد یک ترموستات دمایی است. برای درخواست مورد نظرتان قابل استفاده است. ولتاژ AC همان برق 220 است.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.