- Управляем жалюзи на Ардуино звуком, голосом или кнопкой
- Шаг 1. Комплектующие
- Шаг 2. Как это работает?
- Шаг 3. Подключаем и настраиваем шаговый мотор
- Шаг 4. Настройка схемы жалюзей Ардуино
- Шаг 5. Финальные действия
- Шаг 6. Альтернативная версия с использованием кнопок
- Умные шторы своими руками
- Автоматические жалюзи на Arduino
Управляем жалюзи на Ардуино звуком, голосом или кнопкой
Используем Ардуино, чтобы сделать автоматическую систему открывания и закрывания жалюзи с активацией звуком или кнопкой.
Шаг 1. Комплектующие
Этот проект Ардуино жалюзей позволит вам автоматизировать открывание и закрывание шторок, используя только Arduino и шаговый двигатель. Благодаря этому проекту вы сможете сэкономить время на процессе открывания или закрывания жалюзей, а также сможете произвести впечатление на окружающих. Для этого урока нам понадобятся следующие детали:
1x | Ардуино (использовали в уроке Arduino Nano из-за экономии места) |
1x | Звуковой сенсор от Adafruit (по желанию) |
1x | Шаговый двигатель + драйвер (сборка) Дарлингтона |
3x | Кнопки |
1x | Светодиод |
Провода/перемычки | |
1x | Макетная плата |
Дизайн этой системы автоматических жалюзей Ардуино довольно прост и в нём два способа активировать занавески:
- Используя звуковой датчик (микрофон), чтобы управлять им, используя хлопки в ладоши;
- Использование кнопок для открывания/закрывания шторок.
Шаг 2. Как это работает?
Работа этой системы очень проста. Ардуина принимает входные сигналы от звукового датчика (микрофона) или кнопок. Затем он соответственно управляет шаговым двигателем через драйвер Дарлингтона для двигателя. Шаговый двигатель прикреплен к ручке управления шторками и, таким образом, вращает и открывает/закрывает шторы.
Шаг 3. Подключаем и настраиваем шаговый мотор
Сначала всегда должно идти тестирование проекта до его финальной сборки. Начнем с двигателя. Двигатель подключен к 4 проводам драйвера, как показано на рисунках выше. В зависимости от направления вращения необходимо соответствующим образом подключить драйвер.
Первая кнопка справа активирует двигатель для вращения в определенном направлении (вы можете изменить это в коде ниже). Нажмите кнопку 4 раза и она вернется в исходное положение, так как она будет вращаться на 90 градусов во время каждого нажатия. Средняя кнопка блокирует цепь так, чтобы первая кнопка не могла активировать двигатель.
Светодиод включается, когда двигатель заблокирован. Последняя кнопка вернет двигатель в исходное положение независимо от того, где он находится, в момент нажатия.
Шаг 4. Настройка схемы жалюзей Ардуино
После тестирования шагового двигателя вы можете использовать приведенную выше схему соединений, чтобы сделать окончательный прототип. После того, как вы закончите вы можете просто сменить вход (кнопку) на звуковой датчик. Код ниже:
Шаг 5. Финальные действия
Лучше использовать пенопласт, чтобы сделать держатель для двигателя (1, 2) и ручки жалюзи (3). Т.к. в некоторых домах многие предпочитают не сверлить стены позже можно использовать двусторонний скотч, чтобы зафиксировать всё на месте.
У нас есть также кнопка паузы на тот случай если в вашей комнате становится слишком громко, — тогда вы сможете заблокировать ее, чтобы шторы не сошли с ума.
Посмотрите ниже демо-видео финального результата проекта, когда управление производится хлопком:
Шаг 6. Альтернативная версия с использованием кнопок
Если вам не нравится управление звуком, вы можете просто использовать кнопки. В таком случае нужно только две кнопки: активация и возврат в исходное положение (поскольку пауза нам теперь не нужна). Активация такая же, как и раньше, а кнопка сброса вернет занавеску назад в исходное положение. Код для этой версии ниже:
Демо того как это работает ниже:
На этом всё. Вы можете использовать свою фантазию и улучшить проект.
Источник
Умные шторы своими руками
Однажды, после тяжелого рабочего дня, я пришел домой и понял, что хочу отдохнуть, а не ходить и закрывать шторы. Хочется увидеть их закрытыми вечером и открытыми утром, при этом не выделывать танцы перед окном. Погуглив разные решения, было принято решение сделать все самому.
По многочисленным просьбам, выкладываю все свои наработки по переделке обычных рулонных штор в автоматизированные с удаленным управлением. Осторожно, много фотографий!
Для начала про рулонные шторы:
- Плюсы: рулонные шторы визуально расширяют пространство, красивые и недорогие. Очень простой монтаж. Можно каждым окном управлять отдельно. Высвобождается место на подоконнике.
- Сложности: вручную открывать 5 окон уже занимает долго времени. Открыть полностью угловое окно мешает сам механизм (пример: механизм вверху балконной двери упирается в стену и не дает открыть проход полностью). Из-за этого необходимо вешать шторы с наружной стороны окна. Цена даже на китайские моторизированные шторы начинаются от 2000 рублей, умножаем на 5 и уже сразу же думаем, как сделать все подручными средствами.
Немного про задачи:
Необходимо добавить к обычным рулонным шторам из строительного магазина удаленное управление и подключить к умному дому на openSource платформе Home Assistant. И еще необходимо сохранить обычное управление за веревочку.
Если все автоматизировать, то скорость не играет роли, поэтому можно применять двигатели с редуктором. Коллекторные двигатели дешевые, но не самая надежная вещь для ежедневного применения. Сервомашинки тоже имеют коллекторные двигатели и плюс не стабильные при постоянном вращении. Отличным вариантом выглядят шаговые двигатели. Бесшумные, можно контролировать положение, стоят копейки. В итоге, комплект из 5 двигателей 28BYJ-48 с драйвером ULN2003 обошелся мне в 10$
Про двигатель 28BYJ-48:
Подробно о нем можно почитать здесь.
Были вопросы о мощности этого двигателя. Опасения что он будет слабым, не оправдались. Вернее так — если использовать полношаговый режим, то двигатель очень хилый, если использовать полушаговый, то вал уже голыми руками не остановить. Кому будет мало мощности, в интернете много статей как приподнять напряжение, превратить его в биполярный и прочие улучшения.
Так как у нас осталось ручное управление, и мы не хотим впустую гонять двигатель, то необходимы датчики положения штор. Минимум необходим один датчик на одном конце, но лучше два. Можно использовать любой концевой, оптический и т.д., но я лично выбрал герконовый, т.к. приклеить неодимовый магнитик с другой стороны очень просто и работать должен стабильно и долговечно. Сами герконы я выбрал для эстетики уже в корпусе. Плюс предусмотрел настройку по расстоянию от вала. По высоте можно регулировать проставками.
Про конструкцию крепления:
Задача была спроектировать корпус максимально простой для изготовления на 3д принтере с минимальными доработками. Моделировал в Fusion 360. Комплектное крепление цепляется за верх окна, но такую конструкцию на FDM принтере будет трудно сделать с нужными требованиями по прочности, поэтому была придумана конструкция с одним винтом для регулировки.
Итого получилось три детали для 3д-печати. Ссылка для скачивания 3д-моделей.
thingiverse
Основная часть для двигателя, платы управления на ULM2003, креплением герконов, двигателей, лески для стабилизации штор, и регулировочного винта.
Крышка для закрытия всего этого безобразия. Зажим или по-другому крюк.
Сама конструкция штор содержит несколько пружин, которые работают как тормоз если тянуть за шторы(пружина затягивается) или отпускает если крутить за веревку.
При сборке надо сделать одну доработочку: кусачками сломать ободок, который прикрывает веревку, т.к. теперь у нас есть свой неподвижный ободок, который не дает выпасть веревочке.
Управлять шаговым двигателем будет NodeMCU на ESP8266. Он выбран из-за дешевизны, наличия резервного канала wi-fi и на нем достаточно легко написать нужные скрипты. Если нужно больше чем две шторы или дополнительные датчики, то ножек микроконтроллера уже не хватит, можно посмотреть в сторону ESP32. (на фото esp32 не приведена, т.к. она в распределительной коробке)
Среда разработки может быть любая. ESP32 может программироваться через Arduino IDE. Но я для себя выбрал Visual Studio Code из-за скорости, модульности и бесплатности. В этой среде можно разрабатывать почти под любые платформы (не только железо). Можно даже подключить IAR ARM.(но это уже совсем другая тема)
Задача программы простая:
Подключиться по Wi-fi
Подключиться к MQTT брокеру
Подписаться на топик
Управлять скоростью двух моторов
Следить за состоянием концевых датчиков
Отправлять брокеру текущие шаги
Исходники можно взять отсюда.(осторожно это самый первый быдлокод для пробы штор). В коде надо указать свой логин и пароль от wi-fi. А также параметры MQTT-брокера.
Заливаем программу и пробуем отправить первые данные через MQTTBox. Все работает! Как добавить шторы в систему home-assistant я напишу отдельную статью, если будет интересно всем.
Небольшое видео как это делалось:
Плюс выступление на какой стадии находится у меня умный дом.
Всем пожелаю расслабиться дома!
UPD: Ссылка на скачивание файлов для печати на 3д-принтере
Источник
Автоматические жалюзи на Arduino
Идея автоматизации жалюзи зародилась в моей голове достаточно давно. Особенно сильно этому способствовало специфичное расположение окон моей комнаты: после обеда в мои окна бьет яркий солнечный свет, мешающий работе за компьютером и отбивающий всяческое желание заниматься продуктивной деятельностью. В тоже время, находиться в комнате с закрытыми створками жалюзи удовольствие, на мой взгляд, сомнительное. Мне хотелось получить систему, позволяющую автоматически менять угол поворота створок, в зависимости от интенсивности солнечного света, а так же обладающую возможностью ручного управления с дистанционного пульта.
Первой задачей была автоматизация самих створок. Необходим двигатель, осуществляющий поворот и датчик, который будет показывать в каком положение находятся сами створки жалюзи.
Главным препятствием установки двигателя был штатный червячный привод изменения угла поворота створок. Его наличие блокировало возможность внутренней установки мотора, в то время как размещение двигателя снаружи, на месте штатной ручки, также было весьма затруднительно. В конечном итоге было принято решение целиком демонтировать ручной механизм и установить мотор во внутреннюю часть жалюзи.
В качестве двигателя был использовал мотор-редуктор GM12-N20VA Micro Geared Motor:
Данный двигатель обладает следующими характеристиками:
- Рабочее напряжение: 2 — 5 В
- Номинальное напряжение: 5 В
- Передаточное отношение: 100:1
- Скорость без нагрузки: 145 об/мин
- Ток без нагрузки: 40 мА
- Скорость под нагрузкой: 100 об/мин
- Ток под нагрузкой: не менее 150 мА
- Крутящий момент под нагрузкой: 0,2 кг/см
- Ток при блокировке: 520 мА
- Крутящий момент: 0,78 кг/см
- Размер (Д х Ш х В): 24 x 12 x 10 мм
- Выходной вал: D-образный, d=3 мм, длина 10 мм.
Сам выходной вал мотора оказался немного меньше отверстия в механизме жалюзи, поэтому, для обеспечения плотного соединения, на вал была напаяна термоусадка.
Для управления мотором я использовал довольно распространенную, и давно зарекомендовавшую себя микросхему двухканального драйвера двигателей L293D.
К выходам Output 1 и Output 2 микросхемы подключен мотор, в зависимости от сигналов на ногах Input 1 и Input 2 двигатель крутится в одну или другую сторону, аналогично и для второго канала.
С датчиком положения оказалось все не так просто, как я предполагал ранее. Из всех вариантов его конструкции я остановился на потенциометре, установленным на одну ось с двигателем, который в последствие был подключен к АЦП контроллера.
К моему удивлению с датчиком освещенности проблем оказалось меньше всего. Я использовал солнечную батарею, извлеченную из недорогого светодиодного фонарика, купленного в хозяйственном магазине. Сама крышка фонарика послужила неплохим корпусом.
Для дистанционного управления я использовал ИК-приемник TSOP31236 с пультом из набора Мастер КИТ, но в данном случае можно использовать любой другой.
Целиком схема выглядит следующим образом:
В зависимости от данных, полученных на АЦП с датчика освещенности, створки жалюзи перемещаются в то или иное положение, при этом текущее положение створок контролируется датчиком, в качестве которого выступает потенциометр, подключенный к аналоговому входу Adruino.
Для работы с ИК пультом я не стал изобретать велосипед и воспользовался уже готовой библиотекой IRremote.
Вот собственно видео иллюстрирующее работу:
В виду отсутствия солнечной погоды, чувствительность датчика была снижена.
В перспективе хотелось бы перевести систему на более “серьезный” микроконтроллер, разместить все элементы компактно, на одной печатной плате и спрятать в корпус.
Источник