Метеостанция с дисплеем LCD1602 на Arduino

1. Описание проекта

В этом проекте мы создадим метеостанцию на базе Arduino, которая будет отображать данные температуры и влажности на дисплее LCD1602. Это полезное устройство для мониторинга окружающей среды и может быть использовано в различных DIY–проектах.

2. Необходимые компоненты

  1. Arduino Uno / Arduino Nano / Arduino Mega

  2. LCD1602 с I2C интерфейсом

  3. Датчик температуры и влажности DHT11 или DHT22

  4. Резистор 10 кΩ (если используется DHT11)

  5. Соединительные провода

3. Подключение компонентов

3.1. Датчик DHT11/DHT22

  1. VCC → 5 V

  2. GND → GND

  3. DATA → Pin 2

3.2. LCD1602 с I2C интерфейсом

  1. VCC → 5 V

  2. GND → GND

  3. SDA → A4 (на Arduino Uno)

  4. SCL → A5 (на Arduino Uno)

Схема подключения LCD1602 по I2C

Схема подключения LCD1602 с модулем I2C на Arduino Uno

4. Установка библиотеки LiquidCrystal_I2C

  1. Скачайте обе библиотеки из официального репозитория GitHub:
  2. Откройте Arduino IDE и выберите Скетч → Подключить библиотеку → Добавить .ZIP библиотеку…

  3. Укажите скачанные .zip-файлы и нажмите Открыть.

  4. Дождитесь сообщения «Библиотека добавлена» в нижней строке IDE.

5. Программирование Arduino

Полный код проекта:

#include <LiquidCrystal_I2C.h>  // библиотека для LCD1602
#include <DHT.h>                 // библиотека для датчика DHT

LiquidCrystal_I2C LCD(0x27, 16, 2);
DHT dht(2, DHT11);

float prevHumidity    = 0;
float prevTemperature = 0;

void setup() {
  LCD.init();
  LCD.backlight();
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    LCD.clear();
    LCD.setCursor(0, 0);
    LCD.print("Error reading");
    delay(1000);
    return;
  }

  if (h != prevHumidity || t != prevTemperature) {
    LCD.clear();
    LCD.setCursor(0, 0);
    LCD.print("Humidity: ");
    LCD.print(h);
    LCD.print("%");
    LCD.setCursor(0, 1);
    LCD.print("Temp: ");
    LCD.print(t);
    LCD.print("C");
    prevHumidity    = h;
    prevTemperature = t;
  }

  delay(1000);
}

6. Заключение

В этом проекте мы:

  1. Подключили DHT11/DHT22 к Arduino.

  2. Инициализировали и настроили LCD1602 с I2C.

  3. Считали и отобразили температуру и влажность.

  4. Освоили установку библиотек через Arduino IDE.

Получившаяся метеостанция — отличный старт для собственных экспериментов с «умным домом» и мониторингом микроклимата.