Сколько раз вы просыпались от холода летом или осенью, забыв закрыть окно перед сном? Слишком жарко — душно, слишком холодно — простуда. Решение есть: автоматическое регулирование окна в зависимости от температуры воздуха в комнате!

В этой статье мы соберем умное устройство на Arduino, которое самостоятельно открывает или закрывает окно при изменении температуры. Устройство подходит как для квартиры, так и для дачи или теплицы.

Что нам понадобится
  • Плата контроллера Arduino Nano / Uno
  • Датчик температуры DS18B20
  • Мотор-редуктор 12 В и шпилька с гайкой (актуатор)
  • Два концевика (limit switch) для фиксации крайних положений
  • Модуль реле или транзисторный драйвер (например, L298N)
  • Блок питания на 12 В для двигателя
  • Провода, макетная плата или пайка
Принцип работы

Температурный датчик постоянно измеряет температуру в помещении. Если она превышает заданное значение (например, 26°C), Arduino активирует мотор и открывает окно. Если температура опускается ниже 22°C — окно закрывается.

Два концевика предотвращают чрезмерное движение — мотор выключается при достижении крайнего положения.

Схема подключения
Компонент Пины подключения к Arduino
DS18B20 D2 + резистор 4.7 кОм между DATA и +5В
Концевик "открыто" D5 (с подтяжкой к VCC через INPUT_PULLUP)
Концевик "закрыто" D6 (аналогично)
Реле "открыть" D3
Реле "закрыть" D4
Мотор Подключается к реле или к L298N
Блок питания 12В Питает мотор и, при необходимости, Arduino через стабилизатор

Пример кода

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
#define RELAY_OPEN 3
#define RELAY_CLOSE 4
#define LIMIT_OPEN 5
#define LIMIT_CLOSE 6

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

const float TEMP_OPEN = 26.0;
const float TEMP_CLOSE = 22.0;

void setup() {
  pinMode(RELAY_OPEN, OUTPUT);
  pinMode(RELAY_CLOSE, OUTPUT);
  pinMode(LIMIT_OPEN, INPUT_PULLUP);
  pinMode(LIMIT_CLOSE, INPUT_PULLUP);

  sensors.begin();
  Serial.begin(9600);
}

void loop() {
  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);
  Serial.println(temp);

  if (temp > TEMP_OPEN && digitalRead(LIMIT_OPEN) == HIGH) {
    digitalWrite(RELAY_CLOSE, LOW);
    digitalWrite(RELAY_OPEN, HIGH);
  } 
  else if (temp < TEMP_CLOSE && digitalRead(LIMIT_CLOSE) == HIGH) {
    digitalWrite(RELAY_OPEN, LOW);
    digitalWrite(RELAY_CLOSE, HIGH);
  } 
  else {
    digitalWrite(RELAY_OPEN, LOW);
    digitalWrite(RELAY_CLOSE, LOW);
  }

  delay(3000);
}

ArduinoМонтаж актуатора

Исполнительный механизм — обычный мотор-редуктор с длинной шпилькой. К гайке, двигающейся по шпильке, крепится кронштейн, соединённый с рамой окна. Таким образом при вращении шпильки окно будет открываться или закрываться.

Важно: не забудьте установить концевики для автоматической остановки мотора в крайних положениях!

Советы и доработки
  • Добавьте экран и кнопки для ручной настройки температуры
  • Интеграция с Wi-Fi (ESP32) для удалённого управления
  • Используйте металлические шестерни в редукторе — они долговечнее
Вывод

Теперь вы знаете, как своими руками собрать автоматическое управление окном по температуре воздуха. Такой проект улучшит комфорт вашего дома, поможет экономить энергию и избежать простуд.

Все необходимые модули и компоненты вы можете приобрести прямо в нашем интернет-магазине Arduino по доступной цене с доставкой по Украине!

<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Статический IP адрес ESP8266

Статический IP адрес ESP8266

Как задать статический IP адрес контроллеру ESP8266?Будем рассматривать этот вопрос на примере ..

Модуль 5 — Датчики и модули: DHT11, LDR и проект «Умная лампа»

Модуль 5 — Датчики и модули: DHT11, LDR и проект «Умная лампа»

Модуль 5 — Датчики и модули (курс для начинающих) Цель модуля: познакомиться с популярными ..

NRF24L01+PA+LNA модуль 2,4 ГГц SMD с разъёмом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц SMD с разъёмом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц (SMD) с разъёмом IPEX (u.FL), 18×14 мм ..

109.98грн.

Отправка данных в Google Sheets по таймеру (ESP32 раз в 5 минут пишет данные)

Отправка данных в Google Sheets по таймеру (ESP32 раз в 5 минут пишет данные)

ESP32 → Google Sheets: отправка данных в таблицу раз в 5 минут В этом примере ESP32 автоматичес..

Arduino NRF24L01 эмулятор клавиатуры и мыши

Arduino NRF24L01 эмулятор клавиатуры и мыши

Задача проекта – удаленное управление 20-ю компьютерами с одного главного компьютора. Под управление..