🌡️ درس 73: دما و رطوبت با DHT

یک حسگر، دو عدد: دما و رطوبت. و اینکه هوا واقعاً «چطور حس می‌شود».

سطح: متوسط · زمان: حدود 16 دقیقه · مفاهیم: DHT11، رطوبت، NaN

قدم‌های این درس

  1. چرا رطوبت مهم است؟
  2. قدم ۱ — سیم‌کشی DHT
  3. قدم ۲ — خواندن و پیام راحتی
  4. اشتباه رایج: خواندن پشت سر هم
  5. چالش: هشدار پنجره

نمونه‌ای از کد این درس

// 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 :)");
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

📈

درس 72: نمودار زنده روی OLED

🕰️

درس 74: ساعت واقعی با RTC DS3231