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

У цій статті ми зберемо розумний пристрій 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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Набір перетинок (мама-мама) 40шт 10см

Набір перетинок (мама-мама) 40шт 10см

Набір з'єднувальних дротів для поєднання плат контролера з периферією без пайки. Підходять під станд..

50.09грн.

Світлодіодна матриця 8х8 з керуючим контролером MAX7219

Світлодіодна матриця 8х8 з керуючим контролером MAX7219

Готовий блок світлодіодної матриці 8х8 з підтримкою каскадного увімкнення декількох ідентичних модул..

87.37грн.

Кнопка металева герметична 16мм (латунь, IP65, 3A, без фіксації)

Кнопка металева герметична 16мм (латунь, IP65, 3A, без фіксації)

Надійна вологозахищена кнопка без фіксації діаметром 16 мм. Виготовлена з латуні з нікелевим покритт..

82.91грн.

Корпус пластиковий 85x58x33мм з прозорою кришкою

Корпус пластиковий 85x58x33мм з прозорою кришкою

Герметичний корпус для саморобних електронних пристроївМатеріал - пластикРозміри 85 x 58 x 33 мм..

116.22грн.

Шестерня для зубчатого ременю на 36 зубців під вісь 5 мм

Шестерня для зубчатого ременю на 36 зубців під вісь 5 мм

Використовується для передачі та редукції обертаючого моменту від двигуна до вісі 5 ммКількість зубц..

79.68грн.