← На главную / Все проекты

🌡️ Умный термостат

Автоматическое поддержание температуры в помещении

Платформа
Raspberry Pi 1 B+
Сложность
Средняя ⭐⭐
Польза
Экономия на отоплении до 20%

📋 Описание

Система автоматического поддержания температуры в комнате. RPi читает показания датчика DHT11 или DS18B20 и управляет реле, которое включает/выключает обогреватель или вентилятор. Все данные выводятся на дисплей и сохраняются в лог.

🔧 Компоненты

КомпонентРольИз набора
Raspberry Pi 1 Model B+ Центр, веб-сервер, логирование RPi 1 B+
DHT11 Измерение T° и влажности воздуха 45-в-1 набор
DS18B20 (опционально) Герметичный цифровой термодатчик 45-в-1 набор
Реле 1-канал Коммутация обогревателя/вентилятора 45-в-1 набор
LCD 1602 I²C Отображение температуры и статуса 45-в-1 набор
Кнопка + Энкодер Установка порогов температуры 45-в-1 набор

🧠 Логика работы

  1. RPi опрашивает DHT11 каждые 5 секунд
  2. Если температура ниже нижнего порога (например 18°C) → реле замыкается (обогрев ВКЛ)
  3. Если температура выше верхнего порога (например 25°C) → реле размыкается (обогрев ВЫКЛ)
  4. Если жарко (например >28°C) → реле на вентилятор ВКЛ
  5. LCD 1602 I²C отображает: текущая T°, влажность, статус реле
  6. Лог в CSV-файл на RPi: время, T°, влажность, статус реле
  7. Веб-интерфейс на Flask: графики, пороги, ручное управление

🔌 Схема подключения (Wiring)

ПодключениеПитание
DHT11 DATA → GPIO4 (RPi) VCC → 3.3V, GND → GND
Реле IN → GPIO17 (RPi) VCC → 5V, GND → GND, COM/NO → нагрузка 220В
LCD SDA → GPIO2, SCL → GPIO3 VCC → 5V, GND → GND (I²C адрес 0x27)
Энкодер CLK → GPIO22, DT → GPIO23, SW → GPIO24 VCC → 3.3V, GND → GND

💻 Код

Python на RPi: RPi.GPIO + Adafruit_DHT + smbus2 + Flask. Код доступен по запросу.