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

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

Фольгированный текстолит двухсторонний 75х100мм

Двухсторонний фольгированный медью текстолит для изготовления печатных платТолщина 1,5 мм Размеры 7..

67.60грн.

Радиатор для транзистора 21х15х10мм

Радиатор для транзистора 21х15х10мм

Радиатор алюминиевый для пассивного охлаждения различных полупроводниковых силовых компонентов: тран..

13.58грн.

Arduino SIM800 отправка SMS

Arduino SIM800 отправка SMS

Привет, коллеги! Сегодня мы добрались наконец к одной из интереснейших тем, косающихся GSM-модуля SI..

Резисторы 0,250 Вт

Резисторы 0,250 Вт

Миниатюрные резисторы разных номиналов с точностью +-1%. Толщина выводов хорошо подходит под стандар..

0.85грн.

ESP32 LED PWM: управление яркостью светодиодов LEDC

ESP32 LED PWM: управление яркостью светодиодов LEDC

ESP32 LED PWM Controller: управление яркостью светодиодов ESP32 имеет встроенный модуль LED..