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

У цій статті ми зберемо розумний пристрій 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 за доступною ціною з доставкою по Україні!
Аудіо штекер 3,5мм папа з гвинтовим клемником
Стерео штекер 3,5 мм для монтажу електричних кіл передачі звукового сигналу за допомогою гвинтового ..
94.08грн.
Найпростіший спосіб перевірки GSM-модуля
Бувають миті в житті розробника, коли нас виводить із себе така штуковина як GSM модуль до любительс..
Arduino функції та як з ними боротися
Ця стаття із серії уроки Arduino. Тема цього уроку: Arduino функції і як з ними боротися.Ми дізнаємо..
Модуль блока питания 12В 250мА
Зручний модуль живлення з 220В AC в 12В постійного струму. Розроблений для встановлення на друковану..
155.85грн.
Модуль реле 8-канальний 5В 10А
8-канальный модуль реле для підключення напряму до дискретного виходу контролера. Світлодіодна індик..
262.46грн.





