ماژول دما رطوبت AM2302B - DHT22
ماژول دما و رطوبت AM2302B یا همان DHT22 یک سنسور دیجیتالی دما و رطوبت است که به صورت ماژول در دسترس است. این ماژول دارای دو حسگر است که یکی برای اندازهگیری دما و دیگری برای اندازهگیری رطوبت هوا است. AM2302B یک نسخه بهبود یافته از DHT22 است و دارای قابلیتهای بهتری مانند دقت بیشتر، محدوده دما و رطوبت گستردهتر و مقاومت بالاتر در مقابل نویزهای الکترومغناطیسی است.این ماژول به عنوان یک سنسور محیطی مفید است و معمولا در پروژههای الکترونیکی مختلف مانند سیستمهای خانگی هوشمند، دستگاههای کنترل محیطی، سامانههای خودکار آبیاری و غیره استفاده میشود. به کمک این ماژول میتوان دما و رطوبت هوا را به دقت اندازهگیری کرده و در نتیجه اطلاعات مفیدی در خصوص کنترل شرایط محیطی فراهم کرد.
ویژگی های ماژول AM2302B-DHT22
- ولتاژ کاری: 3.3 تا 5 ولت
- محدوده دمای قابل اندازهگیری: -40℃ تا 80℃
- دقت اندازهگیری دما: ±0.5℃
- محدوده رطوبت قابل اندازهگیری: 0% تا 100%
- دقت اندازهگیری رطوبت: ±2% RH
- قابلیت ارتباط با میکروکنترلرها از طریق پروتکل 1-wire
- سرعت انتقال دادهها: حداکثر 1 کیلوبیت بر ثانیه
بررسی پایه های ماژول AM2302 DHT22
- پایه VDD تغذیه 3.3 تا 5.5 ولت
- پایه SDA سریال دیتا
- پایه NC بدون استفاده
- پایه GND زمین
به همراه ماژول دما رطوبت AM2302 چه اقلامی باید خریداری شود؟
- برد آردوینو و سایر میکروکنترلرها مانند ESP, RP2040
- نمایشگر LCD و یا OLED
- کابل فلت
- برد بورد
- رله Relay
راه اندازی AM2302 DHT22 با آردوینو
کتابخانه DHT را وارد می کنیم، سپس شماره پین و نوع سنسور را تعریف می کنیم. یک شیء DHT ایجاد کرده و ارتباط سریال و سنسور DHT را در تابع setup() مقداردهی اولیه می کنیم.در تابع loop()، ما بین اندازه گیری ها چند ثانیه صبر می کنیم، سپس مقادیر دما و رطوبت را به ترتیب با استفاده از توابع readTemperature() و readHumidity() از سنسور خوانده و با استفاده از تابع isnan() بررسی می کنیم که آیا هر دو مقدار معتبر هستند یا خیر. سپس با استفاده از تابع Serial.print() مقادیر دما و رطوبت را چاپ می کنیم.
// Include the DHT library
#include <DHT.h>
// Define the type of sensor and pin number
#define DHTPIN 2
#define DHTTYPE DHT22
// Create a DHT object
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Initialize the DHT sensor
dht.begin();
}
void loop() {
// Wait a few seconds between measurements
delay(2000);
// Read the temperature value from the sensor
float temperature = dht.readTemperature();
// Read the humidity value from the sensor
float humidity = dht.readHumidity();
// Check if any reading has failed
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the temperature and humidity values
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
}
راه اندازی ماژول دما رطوبت AM2302 با میکروپایتون و ESP32 , RP2040
در این کد ابتدا کتابخانههای مورد نیاز را وارد میکنیم، که شامل کتابخانه dht برای خواندن مقادیر سنسور است. سپس شماره پین سنسور را تعریف کرده و یک شی DHT22 از کلاس dht ایجاد میکنیم.درون حلقه while از تابع d.measure() برای خواندن مقادیر دما و رطوبت از سنسور استفاده میکنیم. مقادیر دما و رطوبت را در متغیرهایی ذخیره کرده و با استفاده از تابع print() چاپ میکنیم. در صورت بروز هرگونه خطا در فرآیند خواندن، از دستورات try و except استفاده میکنیم. در نهایت، با استفاده از تابع time.sleep() چند ثانیه بین دو اندازهگیری منتظر میمانیم.توجه کنید که در MicroPython، کتابخانه machine برای تعامل با سختافزار مانند تنظیم پینها و کتابخانه time برای عملیات مرتبط با زمانسنجی استفاده میشود.
# Import the necessary libraries
import dht
import machine
import time
# Define the pin number
dht_pin = machine.Pin(2, machine.Pin.IN)
# Create a DHT object
d = dht.DHT22(dht_pin)
while True:
try:
# Read the temperature and humidity values
d.measure()
temperature = d.temperature()
humidity = d.humidity()
# Print the values
print("Temperature: {} °C, Humidity: {} %".format(temperature, humidity))
except OSError as e:
# Handle any errors
print("Failed to read from DHT sensor: ", e)
# Wait a few seconds between measurements
time.sleep(2)
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- دماسنج - Thermometer
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- 3.3 - 5.5 ولت DC
- محدوده دمایی
- محدوده رطوبت بین 0 تا 99.9 درصد
- دمای نگهداری
- 0 تا 80 درجه سانتی گراد
- دمای کاری
- - 40 تا + 85 درجه سانتی گراد
- رنگ بندی
- سفید
- تعداد پایه ها
- 3 پایه
- دقت اندازه گیری
- +-2%RH
- خروجی
- single bus digital signal
- پردازنده
- DHT22
- کیفیت LCD
- 0.1°C برای دما و 0.1%RH برای رطوبت
- سایر قابلیتها
- قابلیت اندازه گیری دما و رطوبت
- کد تجاری ماژول و برد
- AM2302B
- نوع سنسور
- دما رطوبت
این برد یک ترموستات دمایی است. برای درخواست مورد نظرتان قابل استفاده است. ولتاژ AC همان برق 220 است.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.