🌡️ درس 73: دما و رطوبت با DHT
یک حسگر، دو عدد: دما و رطوبت. و اینکه هوا واقعاً «چطور حس میشود».
سطح: متوسط · زمان: حدود 16 دقیقه · مفاهیم: DHT11، رطوبت، NaN
قدمهای این درس
- چرا رطوبت مهم است؟
- قدم ۱ — سیمکشی DHT
- قدم ۲ — خواندن و پیام راحتی
- اشتباه رایج: خواندن پشت سر هم
- چالش: هشدار پنجره
نمونهای از کد این درس
// DHT11 on D2: temperature, humidity and a "how does it feel" message.
#include <DHT.h>
DHT dht(2, DHT11); // data pin, sensor model (DHT11 or DHT22)
unsigned long lastRead = 0;
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
if (millis() - lastRead < 2000) return; // the DHT needs ~2 s between reads
lastRead = millis();
float h = dht.readHumidity();
float t = dht.readTemperature(); // Celsius
if (isnan(h) || isnan(t)) { // NaN = the read failed
Serial.println("DHT read failed - check the wiring!");
return;
}
float feels = dht.computeHeatIndex(t, h, false); // false = Celsius
Serial.print("Temp: "); Serial.print(t);
Serial.print(" C Humidity: "); Serial.print(h);
Serial.print(" % Feels like: "); Serial.println(feels);
if (feels > 30) Serial.println("Hot! Drink some water.");
else if (feels < 18) Serial.println("Cold - wear a jacket.");
else if (h > 70) Serial.println("Comfortable but humid.");
else Serial.println("Comfortable :)");
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓