سنسور دما و رطوبت DHT22 برند Asair
برای بررسی و مقایسه مدل ارزانتر از سنسور دما رطوبت DHT22 کلیک کنید.
سنسور دما رطوبت DHT22
سنسور DHT22 (یا همچنین به نام AM2302) یک سنسور دما و رطوبت دیجیتالی است .این سنسور به منظور اندازهگیری دما و رطوبت محیطی طراحی شده است و به عنوان یک ماژول کامل با مدار تقویت کننده و تبدیل آنالوگ به دیجیتال عمل میکند. این سنسور قادر است دمای محیط را با دقت بالا اندازهگیری کند. دقت اندازهگیری دما در بازهای میان -40 درجه سانتیگراد تا +80 درجه سانتیگراد و با دقت ±0.5 درجه سانتیگراد است.DHT22 همچنین قادر به اندازهگیری رطوبت محیطی است. دقت اندازهگیری رطوبت در بازهای میان 0٪ تا 100٪ رطوبت نسبی با دقت ±2٪ است. سنسور DHT22 از یک رابط دیجیتال خروجی استفاده میکند که اطلاعات دما و رطوبت را به صورت دیجیتالی ارسال میکند. این خروجی به صورت سیگنال دیجیتالی پالس واحد (Single-Bus) ارسال میشود. سنسور DHT22 با ولتاژ کاری 3.3 ولت کار میکند، که این ویژگی اجازه میدهد که به راحتی با میکروکنترلرها و بوردهای الکترونیکی با این ولتاژ کاری ارتباط برقرار کند.برای ارتباط با سنسور DHT22، شما باید از پروتکل ارتباطی خاصی که به عنوان One-Wire یا Single-Bus شناخته میشود، استفاده کنید. این پروتکل اجازه انتقال دادههای دما و رطوبت به صورت دیجیتالی را فراهم میکند.
مشخصات فنی سنسور دما DHT22
- محدوده دما: -40℃ تا +80℃
- دقت اندازهگیری دما: ±0.5℃
- محدوده رطوبت: 0٪ تا 100٪ رطوبت نسبی
- دقت اندازهگیری رطوبت: ±2٪ رطوبت نسبی
- ولتاژ کاری: 3.3 ولت
- رابط ارتباطی: One-Wire یا Single-Bus (رابط دیجیتالی)
- خروجی دیجیتال: سیگنال پالس واحد (Single-Bus)
- ابعاد: حدود 15.5 میلیمتر طول و 12 میلیمتر عرض
- قابلیتهای خاص: قابلیت اندازهگیری همزمان دما و رطوبت
بررسی پایه های DHT22
- سنسور DHT22 دارای 4 پایه مختلف است که به ترتیب وظیفههای خاصی را انجام میدهند. این پایهها به عنوان VCC، GND، Data و NC (عدم اتصال) شناخته میشوند.
- VCC (Positive Power Supply): این پایه برای اتصال به منبع تغذیه مثبت 3.3 ولت مورد استفاده قرار میگیرد. سنسور به ازای این ولتاژ کار میکند.
- GND (Ground): این پایه برای اتصال به منبع تغذیه منفی یا زمین است. این اتصال برای تبدیل ولتاژها به درستی و همچنین اتصال الکتریکی به سیستم ضروری است.
- Data (Data Output/Input): این پایه برای ارتباط با میکروکنترلر یا سایر دستگاهها استفاده میشود. اطلاعات دما و رطوبت از طریق این پایه به میکروکنترلر ارسال و یا از میکروکنترلر دریافت میشود. این پایه از نوع ورودی/خروجی (I/O) است.
- NC (No Connection): این پایه به نام "عدم اتصال" نیز شناخته میشود و در برخی نسخههای DHT22 وجود دارد. این پایه به طور کلی به ارتباط و عملکرد سنسور ارتباطی ندارد و تنها برای اهداف مونتاژ فیزیکی سنسور ممکن است وجود داشته باشد.
به همراه سنسور DHT22 چه اقلامی باید خریداری شود؟
- برد آردوینو
- برد بورد
- کابل فلت
- مقاومت 10 کیلو
راه اندازی سنسور DHT22 با آردوینو
یک کد آردوینو همراه با کتابخانه سنسور DHT را در محیط توسعه Arduino نوشته شده است. شما میتوانید این کتابخانه را از قسمت "Sketch" > "Include Library" > "Manage Libraries..." جستجو کرده و نصب کنید.در این کد، سنسور DHT به پین دیجیتالی 2 متصل شده است، اما اگر آن را به پین دیگری از برد Arduinoتان متصل کردهاید، میتوانید مقدار DHTPIN را به پین مورد نظر تغییر دهید.کد را در نرم افزار Arduino بارگذاری کنید، مانیتور سریال را با سرعت 9600 باز کنید، و باید بتوانید خواندنی دما و رطوبت را مشاهده کنید.
#include <DHT.h> // اضافه کردن کتابخانه DHT
#define DHTPIN 2 // تعریف پین دیجیتالی متصل به سنسور DHT
#define DHTTYPE DHT22 // تعریف نوع سنسور DHT
DHT dht(DHTPIN, DHTTYPE); // مقداردهی اولیه شیء DHT
void setup() {
Serial.begin(9600); // شروع ارتباط سریال
dht.begin(); // مقداردهی اولیه سنسور DHT
}
void loop() {
// خواندن دادههای دما و رطوبت
float temperature = dht.readTemperature(); // خواندن دما به واحد سلسیوس
float humidity = dht.readHumidity(); // خواندن رطوبت به صورت درصد
// بررسی اعتبار خواندن دادهها
if (isnan(temperature) || isnan(humidity)) {
Serial.println("عدم موفقیت در خواندن داده از سنسور DHT!");
} else {
// نمایش دما و رطوبت در مانیتور سریال
Serial.print("دما: ");
Serial.print(temperature);
Serial.print(" درجه سلسیوس | رطوبت: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // چند ثانیه منتظر بمانید قبل از خواندن دادههای دیگر
}
}
راه اندازی سنسور DHT22 با میکروپایتون
در اینجا نمونهای از کد میکروپایتون برای خواندن دادههای دما و رطوبت از سنسور DHT22 و نمایش آن در کنسول آورده شده است. برای اجرای این کد، باید کتابخانه adafruit_dht را در میکروپایتون خود نصب کنید. میتوانید این کتابخانه را با استفاده از دستور زیر نصب کنید:
import board
import adafruit_dht
# تعریف نوع سنسور DHT
dht = adafruit_dht.DHT22(board.D2) # اینجا D2 میتواند به پین مورد نظر تغییر یابد
while True:
try:
# خواندن دادههای دما و رطوبت
temperature = dht.temperature
humidity = dht.humidity
# نمایش دما و رطوبت در کنسول
print("دما: {:.2f} درجه سلسیوس | رطوبت: {:.2f}%".format(temperature, humidity))
except RuntimeError as error:
print("خطا در خواندن دادهها از سنسور DHT: ", error.args[0])
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- دماسنج - Thermometer
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ابعاد
- 15 * 25 میلی متر
- ولتاژ مورد نياز
- 3.3 تا 5.5 ولت DC
- جنس مواد اولیه
- روکش پلاستیکی
- طول کابل
- 8 میلی متر
- محدوده دمایی
- در محدوده 40- تا 125+ درجه سانتی گراد
- ظرفیت
- سنجش دما و رطوبت
- رنگ بندی
- خاکستری
- تعداد پایه ها
- 4 پایه
- کشور سازنده
- چین
- مد کاری
- سیگنال دیجیتالی از طریق Single-Bus
- کد تجاری
- AM2303
- فرمت پایه ها
- VDD - Data - Null - GND
- سایر توضیحات
- سنجش رطوبت در محدوده 0 تا 100 درصد
- نوع سنسور
- دما رطوبت
این برد یک ترموستات دمایی است. برای درخواست مورد نظرتان قابل استفاده است. ولتاژ AC همان برق 220 است.
اتصال 25 سنسور DHT به یک Arduino به طور همزمان کار چالشبرانگیزی است. این کار به دلایلی از جمله محدودیتهای منابع میتواند مشکل باشد. اما در صورتی که نیاز به انجام این کار دارید، میتوانید از چندین روش برای انجام آن استفاده کنید. برای اتصال تعداد زیادی از سنسور DHT به Arduino، میتوانید از مبدلهای I2C مانند "MCP23017" یا "PCF8574" استفاده کنید. این مبدلها به شما این امکان را میدهند که بیش از 25 سنسور DHT را به Arduino وصل کنید.ابتدا مبدل I2C را به Arduino وصل کنید و سپس تعداد زیادی از سنسورهای DHT را به مبدل I2C متصل کنید. سپس با استفاده از کتابخانههای مناسب برای مبدل I2C و سنسور DHT، اطلاعات حسگرها را بخوانید.
از میکروکنترلرها میتوانید برای مدیریت تعداد زیادی از سنسورهای DHT استفاده کنید. این میکروکنترلرها به شما امکان مدیریت و کنترل بیشتری را ارائه میدهند. به عنوان مثال، میتوانید از Arduinoها، Raspberry Piها یا میکروکنترلرهای ARM مانند STM32 استفاده کنید.در این روش، شما باید زمان خواندن اطلاعات از هر سنسور را تقسیم کنید. به عنوان مثال، هر 1 ثانیه از 25 سنسور DHT به ترتیب خوانده شود. این روش نیازمند برنامهنویسی دقیق و مدیریت زمانی دقیق است.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.