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

В этой статье мы соберем умное устройство на 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
ESP32: цифровые входы и выходы (Digital Inputs & Outputs) с примерами

ESP32: цифровые входы и выходы (Digital Inputs & Outputs) с примерами

ESP32: цифровые входы и выходы (Digital Inputs & Outputs) Цифровые пины ESP32 позволяют..

Штекер Micro USB 2.0 разборный

Штекер Micro USB 2.0 разборный

Разборный штекер микро-USB с выводами под пайкуЦвет чорный..

12.78грн.

Припой с флюсом 1,0мм 10г

Припой с флюсом 1,0мм 10г

Припой оловянно-свинцовый ПОС-60 (Ø1мм, 10г) в колбе предназначен для соединения деталей с помощью п..

97.25грн.

Символьный LCD индикатор 16х2 синий

Символьный LCD индикатор 16х2 синий

Символьный двухстрочный жидкокристаллический индикатор. 16 символов в одной строке.Синяя подсветкаСо..

83.25грн.

Оконцеватель для перемычек 2,54мм папа мама

Оконцеватель для перемычек 2,54мм папа мама

Оконцеватель 2,54 мм для самостоятельного изготовления соединительных кабелейВ идеале их нужно ..

1.05грн.