Жалюзі з електроприводом амперка

Мови програмування: Arduino (C ++)

Теги: дистанційне керування, IR, ІК-пульт, електропривод, сервомотор

Автоматизація рутини - одна з найпопулярніших тем у світі DIY-електроніки. На цей раз ми автоматизуємо управління жалюзями за допомогою Arduino і сервоприводу постійного обертання. Як канал зв'язку використовуємо інфрачервоне світло, а в якості пульта - перший-ліпший пульт від телевізора або музичного центру.

Ми зробимо так, щоб кнопки відкривання і закривання можна було призначати самостійно. Так ми зможемо управляти пристроєм тими кнопками на пульті, які зазвичай не застосовуються.

Що нам знадобиться?

Жалюзі з електроприводом амперка

Пластина кріплення сервоприводу

Якась пластина для кріплення Arduino. Ми використовували акрилову майданчик з набору «Матрьошка»

Пульт дистанційного керування

Жалюзі зі стандартним залізним кріпленням

Запасні скоби кріплення жалюзі × 2 шт

Як зібрати?

Встановіть Arduino Uno на платформу. Ми використовували акрилову майданчик з набору «Матрьошка». Так як нам потрібна тільки частина за розмірами плати, ми відпиляли непотрібну половину майданчика. А для закріплення скоби ми просвердлили отвір в акрилі.

Приклейте макетну плату за допомогою її клейкого підстави на Troyka Shield.

Жалюзі з електроприводом амперка

Зберіть кріплення сервомотора і муфту. У нашому випадку муфтою є втулка, з угвинченими в неї тонкими шурупами.

Жалюзі з електроприводом амперка

Підключіть привід постійного обертання до цифрового піну 3. фотоприймач до піну 2 і пьезопіщалку - до піну 4.

Жалюзі з електроприводом амперка

Встановіть Troyka Shield на Arduino Uno.

Встановіть сервопривід і Arduino Uno на жалюзі.

Прошийте в Arduino Uno скетч, наведений нижче.

Відразу після подачі живлення викликається функція setup. В її тілі инициализируется ІК-бібліотека. Потім подається сигнал старту програми (три коротких сигналу) і запускається процедура «навчання» пристрою. Навчання полягає в запам'ятовуванні пристроєм кнопок, які користувач використовує для відкриття і закриття жалюзі. Користувач натискає кнопку на пульті, пристрій отримує код натиснутої кнопки, запам'ятовує його і підтверджує цю подію коротким сигналом. Потім все повторюється для другої кнопки. Після того, як обидві кнопки задані, пристрій видає довгий звуковий сигнал і переходить в робочий цикл (функція loop).

У робочому циклі пристрій очікує натискання кнопки пульта. Як тільки отримано сигнал про натискання, перевіряється чи було натискання цієї ж кнопки в недалекому минулому. Якщо так, то повторне натискання сприймається, як команда «продовжувати крутити мотор». Якщо недавно натискань не було, запам'ятовуємо момент натискання і включаємо привід в потрібному напрямку.

Вихідний код

Приклад програми з сенсором освітленості

В даному прикладі жалюзі відкриваються і закриваються залежно від освітленості. ІК-приймач нам не знадобитися, але необхідно додати датчик освітленості (Troyka-модуль) і потенціометр (Troyka-модуль).

Демонстрація роботи пристрою

Що далі?

Незручно кожен раз при включенні пристрою прошивати в нього коди кнопок пульта. Але у ATmega328p є незалежна пам'ять - EEPROM. в якій можна зберегти один раз ці коди і завантажувати їх звідти при кожному старті. Для роботи з цією пам'яттю є бібліотека EEPROM.

У нашій конструкції є вада: не можна зробити кнопку, яка автоматично повністю закриє жалюзі. Якщо встановити датчик повного закриття / відкриття, то таку функцію реалізувати стане можливим. Для цього можна, наприклад, зняти одну смужку і встановити замість неї потенціометр.

За винятком випадків, коли вказано інше, вміст цієї Вікі підпадає під дію такої ліцензії: CC Attribution-Noncommercial-Share Alike 3.0 Unported

Інструменти сторінки

Схожі статті