🌡️ ماموریت ۷۸: ایستگاه هوا: دما و رطوبت
DHT22 را به D2 و LCD I2C را به A4/A5 وصل کن. readTemperature و readHumidity را هر ۲ ثانیه بخوان.
سطح: متوسط ⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه سنسور DHT
- ☐ یه LCD یا OLED
- ☐ دما و رطوبت خونده بشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- dht-sensor
- LCD 16×2 I2C
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ dht-sensor (VCC)
- Arduino Uno (D2) ⟷ dht-sensor (DATA)
- dht-sensor (GND) ⟷ Arduino Uno (GND2)
- Arduino Uno (VCC5) ⟷ LCD 16×2 I2C (VCC)
- LCD 16×2 I2C (GND) ⟷ Arduino Uno (GND1)
- Arduino Uno (A4) ⟷ LCD 16×2 I2C (SDA)
- Arduino Uno (A5) ⟷ LCD 16×2 I2C (SCL)
کد
// Temperature + humidity from a DHT22 on an I2C LCD
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
DHT dht(2, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t, 1);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(h, 0);
lcd.print(" %");
delay(2000); // a DHT22 needs about 2 s between readings
}
ماموریتهای مشابه
📈
ماموریت ۷۷: نمودار زنده روی OLED
🕰️
ماموریت ۷۹: ساعت واقعی با DS3231
🖥️
ماموریت ۷۶: سلام روی نمایشگر OLED
😊
ماموریت ۸۱: شکلک روی ماتریس ۸×۸
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها