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

В этой статье мы соберем умное устройство на 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Кнопка без фиксации R16-503 со светодиодом

Кнопка без фиксации R16-503 со светодиодом

Кнопка с подсветкой нажимная без фиксацииПростой монтаж. В передней панели устройства просто нужно п..

38.21грн.

Arduino Nano 3.0

Arduino Nano 3.0

Миниатюрная плата контроллера из линейки Aduino на базе микропроцессора ATMEGA328P-AU (это тот же ко..

179.44грн.

Управление servo-мотором через COM-порт Arduino

Управление servo-мотором через COM-порт Arduino

Опишем программу управления серво-мотором командами с COM-порта на примере контроллера Arduino Leona..

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

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

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

83.25грн.

Адаптер для радио модуля NRF24L01

Адаптер для радио модуля NRF24L01

Модуль, облегчающий подключение радио приемо-передатчика NRF24L01 к любительским контроллерамНа..

26.73грн.