Умные шторы. Управление шаговым двигателем на Arduino через bluetooth.

Содержание

В своей повседневной жизни мы все чаще и чаше используем беспроводные устройства, которые облегчают нам работу и быт. Сегодня поговорим о том, как можно сделать управление шаговым двигателем на Arduino через bluetooth. На основе чего можно реализовать достаточно интересные проекты, такие как умные шторы.Давайте разберемся, как это можно сделать своими руками.

Приложение для телефона позволяющее управлять шаговым двигателем.

Планировал сделать приложение в mit app inventor, но, к сожалению что-то случилось с данным сервисом и приложение для тестирования перестало работать. Возможно, на данный момент все работает, но на момент, когда я делал проект «управление шаговым двигателем по bluetooth» наблюдалась данная проблема. Поэтому сделал приложение в APP Thunkable, по функционалу они очень похожи и исходные материалы приложений будут работать в обоих сервисах.

Интерфейс приложения достаточно простой. Несколько текстовых полей, кнопок, бегунок и список.

Интерфейс приложения достаточно простой. Несколько текстовых полей, кнопок, бегунок и список.

Блоки программы для mit app inventor.

Блоки программы для mit app inventor.

Эта часть программы, отвечающая за подключение по bluetooth.

Эта часть программы, отвечающая за подключение по bluetooth.

Управление шаговыми двигателями происходит с помощью данных элементов.

Управление шаговыми двигателями происходит с помощью данных элементов.

Я сделал процедуру, которая позволяет реже отправлять значения при перемещении бегунка.

Я сделал процедуру, которая позволяет реже отправлять значения при перемещении бегунка.

Вот такое приложение для телефона, позволяющее управлять шаговым двигателем с помощью блютуз.

Вот такое приложение для телефона, позволяющее управлять шаговым двигателем с помощью блютуз.

Для проекта понадобиться следующая электроника:

Схема подключения шагового двигателя 28BYJ-48, Bluetooth модель HC-05 к Arduino.

Схема подключения шагового двигателя 28BYJ-48, Bluetooth модель HC-05 к Arduino.

Как видно из схемы к Arduino NANO, подключаем шаговый двигатель 28BYJ-48, Bluetooth модель HC-05. Драйвер шагового двигателя ULN2003 запитать лучше от отдельного блока питания 5-12 В.

схема Arduino NANO, подключаем шаговый двигатель 28BYJ-48, Bluetooth модель HC-05. Драйвер шагового двигателя ULN2003 з

Если делать умные рулонные шторы, то желательно добавить в схему конечный выключатель. А лучше геркон или KY-003 модуль датчика Холла. На штору поместить магнит. Что позволит определять границы перемещения полотна.

Код (скетч) управления шаговым двигателем на Arduino через bluetooth.

В коде всего 2 переменные, которые нужно поменять в том случае если вы будете использовать другой шаговый двигатель. Первая переменная устанавливает скорость по умолчанию – это 5 оборотов в минуту. Вторая определяет сколько нужно шаговому двигателю сделать шагов, чтобы совершить 1 оборот вала.

В следующем блоке кода подключаем библиотеку AccelStepper, которую можно скачать внизу статьи в разделе «Файлы для скачивания ».

Затем определяем тип двигателя (точнее тип драйвера шагового двигателя), данное подключение можно использовать с другими драйверами, такими как L293, L298 и пр.

Дальше идут переменные, которые нужны для работы алгоритма.

В блоке setup() определяем параметры скорости и ускорения шагового двигателя.

И инициализируем соединение с Bluetooth модулем и скорость работы. У вашего Bluetooth модуля скорость работы может быть другая.

В основном цикле loop() проверяем, пришли данные или нет. Если данные получили, сохраняем их в переменную val и поднимаем флаг.

После поднятия флага проверяем, какую команду получили. Если ни одна не совпадает, то проверяем, возможно, это число скорости вращения шагового двигателя.

Затем переходим к алгоритму управления шаговым двигателем, в котором определяем статус запуска вращения шагового двигателя «flagStart».

После чего, проверяем направление вращения двигателя и устанавливаем скорость вращения с учетом направления.

Следующие 2 строчки заставляют шаговый двигатель сделать один оборот.

И затем мы проверяем, достиг ли шаговый двигатель заданного положения. При достижении нужного положения,обнуляем позицию двигателя это необходимо, чтобы в следующий раз двигатель вращался в нужном направлении и нужное количество оборотов. Или вращался бесконечно, за это отвечает вот это условие.

Такой небольшой код, который можно дополнить и сделать управление рулонными шторами с помощью телефона. А также другие интересные проекты с использованием Arduino и шагового двигателя.

Умные рулонные шторы своими руками на Arduino.

На основе приложения и кода можно сделать своими руками умные рулонные шторы на Arduino. Даже без добавления дополнительных элементов. Для этого достаточно замерить, сколько оборотов делает штора, чтобы достигнуть конечного положения. И добавить в программу данное значение, вместо значения перемещения на 1 оборот. И после чего, при нажатии у вас будет сворачиваться, и разворачиваться штора. Но для безопасной работы лучше установить конечный выключатель или, как рассказывал ранее датчик холла. Чтобы определять конечное положение.

Механическая часть умной рулонной шторы.

Чтобы реализовать механизм умной рулонной шторы можно воспользоваться готовыми 3D моделями для печати и модернизировать обычную штору.

Чтобы реализовать механизм умной рулонной шторы можно воспользоваться готовыми 3D моделями для печати

Используя электронику из проекта, получится вот такая умная рулонная штора.

Используя электронику из проекта, получится вот такая умная рулонная штора.

Заключение.

Управление шаговым двигателем через Bluetooth имеет ряд ограничений. Самое главное ограничение – это возможность подключиться только к одному устройству. Соответственно управлять сможем одновременно только одним устройством. А в случае со шторой, как правило, их в квартире 3-4 и больше и управлять ими желательно одновременно, что можно реализовать с помощью Wi-Fi управления. Если вам интересно продолжение данной темы, пишите в комментарии.

Понравился проект Умные шторы. Управление шаговым двигателем на Arduino через bluetooth? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.


Источник: arduino-tex.ru