ЁЯМбя╕П рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдореЙрдирд┐рдЯрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛


ЁЯФз рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ

  • Arduino рдмреЛрд░реНрдб (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Arduino Uno рдпрд╛ Arduino R4)
  • DHT11 рд╕реЗрдВрд╕рд░
  • I2C рдПрд▓рд╕реАрдбреА 1602 рдбрд┐рд╕реНрдкреНрд▓реЗ
  • рдЬрдореНрдкрд░ рддрд╛рд░
  • рдмреНрд░реЗрдб рдмреЛрд░реНрдб (рдЖрд╕рд╛рди рд╡рд╛рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ)

ЁЯУМ рд╡рд╛рдпрд░рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди

1. DHT11 рд╕реЗрдВрд╕рд░:

  • VCC (рд▓рд╛рд▓ рддрд╛рд░): рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ 5V Arduino рдкрд░
  • GND (рдХрд╛рд▓рд╛ рддрд╛рд░): рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ GND Arduino рдкрд░
  • рдбреЗрдЯрд╛ (рдкреАрд▓рд╛ рддрд╛рд░): рдбрд┐рдЬрд┐рдЯрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ pin (рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ pin 2 рдХреЛрдб рдореЗрдВ)

2. I2C рдПрд▓рд╕реАрдбреА 1602 рдбрд┐рд╕реНрдкреНрд▓реЗ:

  • VCC: рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ 5V Arduino рдкрд░
  • GND: рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ GND Arduino рдкрд░
  • рдПрд╕рдбреАрдП: Arduino рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ A4 (Uno рдкрд░) рдпрд╛ рдЙрдкрдпреБрдХреНрдд I2C SDA pin рдЖрдкрдХреЗ рдмреЛрд░реНрдб рдкрд░
  • рдПрд╕рд╕реАрдПрд▓: Arduino рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ A5 (Uno рдкрд░) рдпрд╛ рдЙрдкрдпреБрдХреНрдд I2C SCL pin рдЖрдкрдХреЗ рдмреЛрд░реНрдб рдкрд░

рдиреЛрдЯ: рдПрд▓рд╕реАрдбреА рдХреЗ рд▓рд┐рдП I2C рдкрддрд╛ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ 0x27рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдЕрд▓рдЧ рд╣реИ, рддреЛ рдХреЛрдб рдХреЛ рддрджрдиреБрд╕рд╛рд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВред


ЁЯТ╗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

рдЕрдкрдиреЗ Arduino IDE рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ:

  • DHT рд╕реЗрдВрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Adafruit рджреНрд╡рд╛рд░рд╛ тАЬDHT рд╕реЗрдВрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реАтАЭ)
  • LiquidCrystal_I2C рдкреБрд╕реНрддрдХрд╛рд▓рдп

рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ:

#include <DHT.h>
#include <LiquidCrystal_I2C.h>

// ----- DHT Sensor Settings -----
#define DHTPIN 2           // DHT11 data pin connected to digital pin 2
#define DHTTYPE DHT11      // We're using the DHT11 sensor
DHT dht(DHTPIN, DHTTYPE);

// ----- LCD Settings -----
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Set the LCD I2C address to 0x27 with 16 columns and 2 rows

void setup() {
  Serial.begin(9600);
  dht.begin();            // Initialize DHT sensor
  
  // Initialize the LCD
  lcd.init();             
  lcd.backlight();        // Turn on the backlight
  lcd.setCursor(0, 0);
  lcd.print("Temp & Humidity");
  delay(2000);
}

void loop() {
  // ----- Wait a bit between measurements -----
  delay(2000);

  // ----- Read the humidity and temperature values -----
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // Check if any reads failed and exit early (to try again)
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Sensor Error");
    return;
  }
  
  // ----- Print values to Serial Monitor for debugging -----
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print(" %  ");
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C");
  
  // ----- Display the temperature and humidity on the LCD -----
  lcd.clear();
  
  // Display temperature on the first row
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print((char)223);  // Degree symbol
  lcd.print("C");
  
  // Display humidity on the second row
  lcd.setCursor(0, 1);
  lcd.print("Hum:  ");
  lcd.print(humidity);
  lcd.print(" %");
}

ЁЯУЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

  • рдбреАрдПрдЪрдЯреА рд╕реЗрдВрд╕рд░:
    • DHT11 рд╕реЗрдВрд╕рд░ рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдорд╛рди рдкрдврд╝рддрд╛ рд╣реИред
    • RSI dht.readHumidity() рдФрд░ dht.readTemperature() рдлрд╝рдВрдХреНрд╢рди рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреНрд░реБрдЯрд┐-рдЬрд╛рдВрдЪ рд╡реИрдз рдбреЗрдЯрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИред
  • I2C рдПрд▓рд╕реАрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ:
    • RSI LiquidCrystal_I2C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрд▓рд╕реАрдбреА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ I2C рдкрддреЗ (рд╕рд╛рдорд╛рдиреНрдпрддрдГ 0x27) рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рддреА рд╣реИред
    • рдпрд╣ рдХреЛрдб рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рд╕рд╛рдл рдХрд░ рджреЗрддрд╛ рд╣реИ рддрдерд╛ рдЗрд╕реЗ рд╣рд░ 2 рд╕реЗрдХрдВрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрд╛рдкрдорд╛рди (рдкреНрд░рдердо рдкрдВрдХреНрддрд┐) рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ (рджреНрд╡рд┐рддреАрдп рдкрдВрдХреНрддрд┐) рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИред
  • рд╕реАрд░рд┐рдпрд▓ рдореЙрдирд┐рдЯрд░:
    • рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реАрд░рд┐рдпрд▓ рдореЙрдирд┐рдЯрд░ рдкрд░ рднреА рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

ЁЯОп рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд╡рд░реНрджреНрдзрди

  • рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛рдирд╛:
    • рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░реАрдбрд┐рдВрдЧ рдХреЛ SD рдХрд╛рд░реНрдб рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
  • рд╡рд╛рдпрд░рд▓реЗрд╕ рд╕рдВрдкрд░реНрдХ:
    • рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ WiFi рдореЙрдбреНрдпреВрд▓ (рдЬреИрд╕реЗ Arduino R4 WiFi) рдХреЛ рдПрдХреАрдХреГрдд рдХрд░реЗрдВред
  • рдЕрд▓рд╛рд░реНрдо рд╡реНрдпрд╡рд╕реНрдерд╛:
    • рдпрджрд┐ рддрд╛рдкрдорд╛рди рдпрд╛ рдЖрд░реНрджреНрд░рддрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдП рддреЛ рдЕрд▓рд░реНрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдореЙрдирд┐рдЯрд░ DHT11 рд╕реЗрдВрд╕рд░ рдФрд░ I2C LCD 1602 рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ! рд╣реИрдкреНрдкреА рдХреЛрдбрд┐рдВрдЧ! ЁЯШКЁЯСН

ЁЯУб рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдВ - рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдврд╝рд╛рдПрдБред

рдПрдХ рдЬрд╡рд╛рдм рд▓рд┐рдЦреЗрдВ