Как программировать и управлять Arduino с помощью Python – gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com Лодки

Маленькие начало

Этот проект стал началом взаимодействия между Python и платой Arduino. Этот подход сильно отличается от обычного рабочего процесса загрузки скриптов в сам Arduino, но он открывает совершенно новый способ работы с платформой, особенно если вам нравится язык программирования Python.

Если вы используете сервер Linux дома, этот метод связи с платами Arduino может превратить этот сервер в полноценную систему домашней автоматизации DIY. Комбинируя скрипты Python, управляющие микроконтроллером, со схемой автоматизации «Сделай сам , ваш ящик для хранения NAS может взять на себя целый ряд новых полезных функций.

Чтобы сделать его незабываемым, почему бы не создать свой собственный NAS- и использовать его для управления своими приборами? Представьте, как здорово было бы нажать кнопку воспроизведения на Plex. сервера и имейте света выключите автоматически!

Вы уже управляете Arduino с помощью Python?Есть ли удивительные обходные пути, о которых мы просто еще не знаем?Дайте нам знать в разделе комментариев ниже!

Led — контролируя яркость светодиода с использованием pwm

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

Смотрите про коптеры:  Скачать Bluetooth для Windows на русском

Будем использовать этот модуль для генерации случайного числа от 1 до 100, которое позже будет использовано для записи этого значения на выводе и случайного изменения яркости светодиода.

Эта функция randint () — действительно полезная функция, предоставляемая случайным модулем, и она широко используется при тестировании прототипов путем быстрой отправки случайных сигналов.

Биплан pitts python из депрона и потолочки

Начнем с чертежа, в формате PDF.

(Чертеж.rar)

Тут все просто – распечатать, склеить, вырезать детали. Сразу оговорюсь, не все детали в данных чертежах присутствуют, кое-что пришлось додумывать и переделывать, но об этом чуть ниже.

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

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

Итак, приступим!
Думаю, очень многое будет понятно непосредственно из фотографий, но кое-где буду вставлять поясняющие комментарии.
Из депрона вырезаем детали фюзеляжа, хвостового оперения и распорок.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все (ну, почти все) детали из депрона вырезаны, переходим к потолочке (то есть к крыльям). Их лично мне удобней было просто начертить на потолочке, сняв размеры с чертежа.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Теперь переходим к деталям из “апельсиновой” фанеры, а это у нас моторама и шпангоут, которому будет прикручена стойка шасси.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все детали вырезаны, можно приступать к постепенному созданию самолетика.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вертикальные распорки крыльев и горизонтальное хвостовое оперение усиливаем бамбуком
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Да, бамбук хорошо гнется над зажигалкой или плитой.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем склеивать фюзеляж
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Чтобы закрепить хвостовые сервы, из потолочки вырезаем дополнительный стрингер (вроде бы так это называется).
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Делаем шасси
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
И мотораму
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вырезаем и вешаем на петли из скотча крышку мотоотсека в верхней части фюзеляжа
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Сервы хвоста хоть и весьма плотно друг к другу, но качалки друг другу не мешают, – проверено. Да, доступ к сервам будет через небольшой “одноразовый” между кабиной и крылом сверху, но об этом еще будет ниже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
А вот одна из деталей, которая была весьма ощутимо переделана.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Отверстия в боковинах – это для того, чтобы подлезть отверткой к болтам крепления мотора.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж в целом готов, можно переходить к крыльям.

Для начала распускаем на минициркулярке или ножом деревянную линейку на полоски шириной 4 мм (ну, или 3 мм, если захотите крылья из депрона). Из них будут склеены лонжероны. А дальше все понятно на фото.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Усиление нижнего крыла (полоска потолочки по ширине внутренней части фюзеляжа) и еще один квадратик потолочки для усиления сервы элеронов.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, крылья готовы. Элероны будут по стандартной схеме навешены на петли из скотча.

Начинаем художественную обклейку модели скотчем. Я немного поискал в интернете и нашел парочку понравившихся расскрасок, которые и взял за основу. Низ нижнего крыла и стабилизатора с рулем высоты – в черно-белую полоску для читаемости в воздухе.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,comКак программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем с хвоста – точнее с руля направления в шашечку
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Черные квадратики из скотча проще всего делать на специальной бумаге – основе самоклеющихся плакатов, ценников (не реклама, например в Спортмастере). Я с прошлой работы натаскал их в избытке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Границы цветов и кабины (по шаблону) на фюзеляже расчертил заранее.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж обклеен, можно переходить к сборке модели в единое целое. Да, модель не разборная, а потому все на клею.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги, боудены и прочее дерево красил маркером специальным – вонючий только сильно и потолочку разъедает, так что с ним аккуратней надо.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Боудены вклеиваем на эпоксидку-пятиминутку, впрочем, кабанчики тоже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги элеронов из проволоки, хотя есть мысль заменить их такими же бамбуковыми для большей жесткости.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вместо хвостового колесика этакая мини-лыжа их потолочки завернутая в скотч.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Крышка мотоотсека на болтике, гайка внутри – на эпоксидке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Синхронизаторы из бамбучин и термоусадки. Думал, на морозе заклинит – нет, работают.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
В целом модель уже готова, осталось только сделать лыжи (зима у нас еще долго, до колес может самолет вообще не доживет)
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вот тут чуть подробней. Нитками на клею ПВА обматываем ось шасси, потом прижимаем брусочком пеноплекса шайбочку и заливаем эпоксидкой. Надежно, универсально, не откручивается.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, биплан готов!
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Характеристики модели:

Размах крыла – 850 мм
Вес без АКБ – 365 грамм
Полетный вес – 450-470 грамм (у меня АКБ разной емкости)

Электронику использовал следующую:

Мотор http://www.radiocopter.ru/108769/product/5354
Регулятор http://www.radiocopter.ru/108769/product/102843
Сервоприводы http://www.radiocopter.ru/108769/product/9549
Цанга http://www.radiocopter.ru/108769/product/103270
Пропеллеры http://www.radiocopter.ru/108769/product/9845 (или на 8 дюймов)
Фиксаторы тяг http://www.radiocopter.ru/108769/product/8519
Аккумуляторы http://www.radiocopter.ru/108769/product/1520402 (для медленных полетов можно 2S)

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

На данный момент заказываю все-таки 9 дюймовый винт, а кроме того перемотал двигатель, чтобы оборотов было меньше. Что из этого выйдет – в виде видео добавлю в комментарии.

Всем спасибо за то, что прочитали-просмотрели статью! И пусть количество взлетов равняется количеству посадок!

§

Начнем с чертежа, в формате PDF.

(Чертеж.rar)

Тут все просто – распечатать, склеить, вырезать детали. Сразу оговорюсь, не все детали в данных чертежах присутствуют, кое-что пришлось додумывать и переделывать, но об этом чуть ниже.

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

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

Итак, приступим!
Думаю, очень многое будет понятно непосредственно из фотографий, но кое-где буду вставлять поясняющие комментарии.
Из депрона вырезаем детали фюзеляжа, хвостового оперения и распорок.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все (ну, почти все) детали из депрона вырезаны, переходим к потолочке (то есть к крыльям). Их лично мне удобней было просто начертить на потолочке, сняв размеры с чертежа.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Теперь переходим к деталям из “апельсиновой” фанеры, а это у нас моторама и шпангоут, которому будет прикручена стойка шасси.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все детали вырезаны, можно приступать к постепенному созданию самолетика.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вертикальные распорки крыльев и горизонтальное хвостовое оперение усиливаем бамбуком
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Да, бамбук хорошо гнется над зажигалкой или плитой.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем склеивать фюзеляж
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Чтобы закрепить хвостовые сервы, из потолочки вырезаем дополнительный стрингер (вроде бы так это называется).
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Делаем шасси
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
И мотораму
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вырезаем и вешаем на петли из скотча крышку мотоотсека в верхней части фюзеляжа
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Сервы хвоста хоть и весьма плотно друг к другу, но качалки друг другу не мешают, – проверено. Да, доступ к сервам будет через небольшой “одноразовый” между кабиной и крылом сверху, но об этом еще будет ниже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
А вот одна из деталей, которая была весьма ощутимо переделана.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Отверстия в боковинах – это для того, чтобы подлезть отверткой к болтам крепления мотора.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж в целом готов, можно переходить к крыльям.

Для начала распускаем на минициркулярке или ножом деревянную линейку на полоски шириной 4 мм (ну, или 3 мм, если захотите крылья из депрона). Из них будут склеены лонжероны. А дальше все понятно на фото.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Усиление нижнего крыла (полоска потолочки по ширине внутренней части фюзеляжа) и еще один квадратик потолочки для усиления сервы элеронов.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, крылья готовы. Элероны будут по стандартной схеме навешены на петли из скотча.

Начинаем художественную обклейку модели скотчем. Я немного поискал в интернете и нашел парочку понравившихся расскрасок, которые и взял за основу. Низ нижнего крыла и стабилизатора с рулем высоты – в черно-белую полоску для читаемости в воздухе.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,comКак программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем с хвоста – точнее с руля направления в шашечку
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Черные квадратики из скотча проще всего делать на специальной бумаге – основе самоклеющихся плакатов, ценников (не реклама, например в Спортмастере). Я с прошлой работы натаскал их в избытке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Границы цветов и кабины (по шаблону) на фюзеляже расчертил заранее.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж обклеен, можно переходить к сборке модели в единое целое. Да, модель не разборная, а потому все на клею.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги, боудены и прочее дерево красил маркером специальным – вонючий только сильно и потолочку разъедает, так что с ним аккуратней надо.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Боудены вклеиваем на эпоксидку-пятиминутку, впрочем, кабанчики тоже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги элеронов из проволоки, хотя есть мысль заменить их такими же бамбуковыми для большей жесткости.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вместо хвостового колесика этакая мини-лыжа их потолочки завернутая в скотч.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Крышка мотоотсека на болтике, гайка внутри – на эпоксидке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Синхронизаторы из бамбучин и термоусадки. Думал, на морозе заклинит – нет, работают.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
В целом модель уже готова, осталось только сделать лыжи (зима у нас еще долго, до колес может самолет вообще не доживет)
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вот тут чуть подробней. Нитками на клею ПВА обматываем ось шасси, потом прижимаем брусочком пеноплекса шайбочку и заливаем эпоксидкой. Надежно, универсально, не откручивается.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, биплан готов!
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Характеристики модели:

Размах крыла – 850 мм
Вес без АКБ – 365 грамм
Полетный вес – 450-470 грамм (у меня АКБ разной емкости)

Электронику использовал следующую:

Мотор http://www.radiocopter.ru/108769/product/5354
Регулятор http://www.radiocopter.ru/108769/product/102843
Сервоприводы http://www.radiocopter.ru/108769/product/9549
Цанга http://www.radiocopter.ru/108769/product/103270
Пропеллеры http://www.radiocopter.ru/108769/product/9845 (или на 8 дюймов)
Фиксаторы тяг http://www.radiocopter.ru/108769/product/8519
Аккумуляторы http://www.radiocopter.ru/108769/product/1520402 (для медленных полетов можно 2S)

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

На данный момент заказываю все-таки 9 дюймовый винт, а кроме того перемотал двигатель, чтобы оборотов было меньше. Что из этого выйдет – в виде видео добавлю в комментарии.

Всем спасибо за то, что прочитали-просмотрели статью! И пусть количество взлетов равняется количеству посадок!

§

Начнем с чертежа, в формате PDF.

(Чертеж.rar)

Тут все просто – распечатать, склеить, вырезать детали. Сразу оговорюсь, не все детали в данных чертежах присутствуют, кое-что пришлось додумывать и переделывать, но об этом чуть ниже.

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

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

Итак, приступим!
Думаю, очень многое будет понятно непосредственно из фотографий, но кое-где буду вставлять поясняющие комментарии.
Из депрона вырезаем детали фюзеляжа, хвостового оперения и распорок.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все (ну, почти все) детали из депрона вырезаны, переходим к потолочке (то есть к крыльям). Их лично мне удобней было просто начертить на потолочке, сняв размеры с чертежа.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Теперь переходим к деталям из “апельсиновой” фанеры, а это у нас моторама и шпангоут, которому будет прикручена стойка шасси.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все детали вырезаны, можно приступать к постепенному созданию самолетика.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вертикальные распорки крыльев и горизонтальное хвостовое оперение усиливаем бамбуком
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Да, бамбук хорошо гнется над зажигалкой или плитой.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем склеивать фюзеляж
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Чтобы закрепить хвостовые сервы, из потолочки вырезаем дополнительный стрингер (вроде бы так это называется).
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Делаем шасси
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
И мотораму
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вырезаем и вешаем на петли из скотча крышку мотоотсека в верхней части фюзеляжа
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Сервы хвоста хоть и весьма плотно друг к другу, но качалки друг другу не мешают, – проверено. Да, доступ к сервам будет через небольшой “одноразовый” между кабиной и крылом сверху, но об этом еще будет ниже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
А вот одна из деталей, которая была весьма ощутимо переделана.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Отверстия в боковинах – это для того, чтобы подлезть отверткой к болтам крепления мотора.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж в целом готов, можно переходить к крыльям.

Для начала распускаем на минициркулярке или ножом деревянную линейку на полоски шириной 4 мм (ну, или 3 мм, если захотите крылья из депрона). Из них будут склеены лонжероны. А дальше все понятно на фото.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Усиление нижнего крыла (полоска потолочки по ширине внутренней части фюзеляжа) и еще один квадратик потолочки для усиления сервы элеронов.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com

Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, крылья готовы. Элероны будут по стандартной схеме навешены на петли из скотча.

Начинаем художественную обклейку модели скотчем. Я немного поискал в интернете и нашел парочку понравившихся расскрасок, которые и взял за основу. Низ нижнего крыла и стабилизатора с рулем высоты – в черно-белую полоску для читаемости в воздухе.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,comКак программировать и управлять Arduino с помощью Python - gadgetshelp,com
Начинаем с хвоста – точнее с руля направления в шашечку
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Черные квадратики из скотча проще всего делать на специальной бумаге – основе самоклеющихся плакатов, ценников (не реклама, например в Спортмастере). Я с прошлой работы натаскал их в избытке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Границы цветов и кабины (по шаблону) на фюзеляже расчертил заранее.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Фюзеляж обклеен, можно переходить к сборке модели в единое целое. Да, модель не разборная, а потому все на клею.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги, боудены и прочее дерево красил маркером специальным – вонючий только сильно и потолочку разъедает, так что с ним аккуратней надо.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Боудены вклеиваем на эпоксидку-пятиминутку, впрочем, кабанчики тоже.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Тяги элеронов из проволоки, хотя есть мысль заменить их такими же бамбуковыми для большей жесткости.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вместо хвостового колесика этакая мини-лыжа их потолочки завернутая в скотч.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Крышка мотоотсека на болтике, гайка внутри – на эпоксидке.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Синхронизаторы из бамбучин и термоусадки. Думал, на морозе заклинит – нет, работают.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
В целом модель уже готова, осталось только сделать лыжи (зима у нас еще долго, до колес может самолет вообще не доживет)
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Вот тут чуть подробней. Нитками на клею ПВА обматываем ось шасси, потом прижимаем брусочком пеноплекса шайбочку и заливаем эпоксидкой. Надежно, универсально, не откручивается.
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Все, биплан готов!
Как программировать и управлять Arduino с помощью Python - gadgetshelp,com
Характеристики модели:

Размах крыла – 850 мм
Вес без АКБ – 365 грамм
Полетный вес – 450-470 грамм (у меня АКБ разной емкости)

Электронику использовал следующую:

Мотор http://www.radiocopter.ru/108769/product/5354
Регулятор http://www.radiocopter.ru/108769/product/102843
Сервоприводы http://www.radiocopter.ru/108769/product/9549
Цанга http://www.radiocopter.ru/108769/product/103270
Пропеллеры http://www.radiocopter.ru/108769/product/9845 (или на 8 дюймов)
Фиксаторы тяг http://www.radiocopter.ru/108769/product/8519
Аккумуляторы http://www.radiocopter.ru/108769/product/1520402 (для медленных полетов можно 2S)

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

На данный момент заказываю все-таки 9 дюймовый винт, а кроме того перемотал двигатель, чтобы оборотов было меньше. Что из этого выйдет – в виде видео добавлю в комментарии.

Всем спасибо за то, что прочитали-просмотрели статью! И пусть количество взлетов равняется количеству посадок!

Волшебная смазка

Вам понадобится один последний кусочек головоломки, чтобы Python хорошо говорил с нашим Arduino. Это происходит в форме интерфейса Python, называемого pyFirmata . Этот интерфейс, созданный Tino de Bruijn, доступен для загрузки с github, хотя вы можете установить его прямо из командной строки, набрав:

pip install pyfirmata

Все хорошо, он должен установить и выглядеть так:

Если это не удается, перейдите к добавлению Python в раздел Переменная среды и убедитесь, что вы указали правильный путь к каталогу Python.

Двигатель постоянного тока — управление скоростью двигателя с использованием двигателей pwm


DC [3] широко используется в робототехнических приложениях. Они доступны в широком диапазоне характеристик напряжения, в зависимости от применения.

В этом примере используем электродвигатель постоянного тока 5 В, потому что мы хотим подавать питание с помощью самой платы Arduino. Поскольку цифровой вывод Arduino может иметь только два состояния, то есть HIGH ( 5V) или LOW (0V), невозможно управлять скоростью двигателя, используя только режим OUTPUT.

В качестве решения мы собираемся реализовать режим PWM с помощью цифровых выводов, которые способны поддерживать PWM. При использовании pyFirmata выводы, сконфигурированные в режиме PWM, принимают любые значения ввода с плавающей точкой от 0 до 1.0, которые представляют 0 и 5 В. соответственно.

Зуммер — генерирует звуковой сигнал тревоги


Зумер [1]. выдает звук, когда снабжен цифровым значением HIGH (то есть, 5 В), которое может быть обеспечено с помощью цифровых выводов Arduino [2].

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

Интерфейс

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

Исходный код


Вся работа с устройством происходит благодаря библиотеке PySerial. Но есть несколько нюансов. Например, как узнать, в какой из портов подключено устройство?

На всем прекрасно известном сайте stackoverflow, пользователь с ником Thomas предложил уже готовое решение, которое я и использовал.

def serial_ports():
    """ Lists serial port names

        :raises EnvironmentError:
            On unsupported or unknown platforms
        :returns:
            A list of the serial ports available on the system
    """
    if sys.platform.startswith('win'):
        ports = ['COM%s' % (i   1) for i in range(256)]
    elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
        # this excludes your current terminal "/dev/tty"
        ports = glob.glob('/dev/tty[A-Za-z]*')
    elif sys.platform.startswith('darwin'):
        ports = glob.glob('/dev/tty.*')
    else:
        raise EnvironmentError('Unsupported platform')

    result = []
    for port in ports:
        try:
            s = serial.Serial(port)
            s.close()
            result.append(port)
        except (OSError, serial.SerialException):
            pass
    return result

Кроме этого необходимо хранить список доступных скоростей:

speeds = ['1200','2400', '4800', '9600', '19200', '38400', '57600', '115200']

А теперь соберём вместе

дизайн

(созданный в QtDesigner и сконвертированный с помощью утилиты pyuic5 в .py файл),

функции для сканирования портовосновной код программы

Основной класс, содержащий в себе всю логику программы


class LedApp(QtWidgets.QMainWindow, design.Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.Port.addItems(serial_ports())
        self.Speed.addItems(speeds)
        self.realport = None
        self.ConnectButton.clicked.connect(self.connect)
        self.EnableBtn.clicked.connect(self.send)

    def connect(self):
        try:
            self.realport = serial.Serial(self.Port.currentText(),int(self.Speed.currentText()))
            self.ConnectButton.setStyleSheet("background-color: green")
            self.ConnectButton.setText('Подключено')
        except Exception as e:
            print(e)

    def send(self):
        if self.realport:
            self.realport.write(b'b')

Переменные

self.Portself.Speed

— это выпадающие списки, содержащие в себе значения доступных портов и скоростей.

При нажатии на кнопку self.ConnectButton вызывается функция connect, в которой производится попытка подключения к заданному порту с заданной скоростью. Если подключение успешно, то кнопка окрашивается в зелёный цвет, и меняется надпись.

Функция send отправляет в наш порт байтовую строку — заставляющую включить режим мигания.

Таким образом можно управлять различными устройствами, подключёнными к USB.

Данная статья является вводной и обзорной, более полную информацию можно найти например тут:


Полный исходный код, как скетча для Arduino, так и программы размещён на

Как это случилось

Теперь все настроено, и вы можете создать программу на Python для своего Arduino, чтобы протестировать ее. Откройте IDE по вашему выбору. Мы будем использовать Eclipse сегодня, но вы также можете легко использовать любой текстовый редактор или даже IDE в облаке.

Код python

Чтобы выполнить эти действия, мы собираемся реализовать специальную функцию Python, которая будет принимать номер пина, время повторения и номер образца в качестве входных данных.

Прежде чем перейти к объяснению кода, необходимо открыть файл программы, buzzerPattern.py, из папки кода. В начале кода можно найти функцию Python buzzerPattern (), которая будет вызываться из основной программы с соответствующими параметрами. Эта функция является ядром всей программы.

Функция содержит два массива массивов с жестким кодом, pattern1 и pattern2. Каждый из них содержит время включения и выключения зуммера в течение секунды, которое является рабочим циклом шаблона.

Например, в pattern1 0,8 представляет время, в течение которого зуммер должен быть включен, а 0,2 представляет противоположное.

Функция будет повторять этот шаблон зуммера для периодов повторения, заданных аргументом функции. После запуска цикла for со значением повторения функция проверяет номер шаблона из аргумента функции и выполняет шаблон.

Как только весь цикл повторения завершен, снова полностью отключим зуммер, если он включен, и безопасно отключим плату с помощью метода exit ():

def buzzerPattern(pin, recurrence, pattern):
  pattern1 = [0.8, 0.2]
  pattern2 = [0.2, 0.8]
flag = True
  for i in range(recurrence):
    if pattern == 1:
      p = pattern1
    elif pattern == 2:
      p = pattern2
    else:
      print "Please enter valid pattern. 1 or 2."
      exit
    for delay in p:
      if flag is True:
        board.digital[pin].write(1)
        flag = False
        sleep(delay)
      else:
        board.digital[pin].write(0)
        flag = True
        sleep(delay)
  board.digital[pin].write(0)
board.exit()

Остальная часть программы относительно проста, поскольку содержит код для им-порта библиотек и инициализации платы Arduino. Как только плата инициализируется, выполним функцию buzzerPattern () с входным аргументом (2, 10, 1). Этот аргумент попросит функцию воспроизвести pattern1 10 раз на контакте номер 2:

from pyfirmata import Arduino
from time import sleep

port = '/dev/cu.usbmodemfa1331'
board = Arduino(port)
sleep(5)

buzzerPattern(2, 10, 1)

Код для компьютера

Одним из достоинств Python, кроме его кроссплатформенности — наличие гигантского числа библиотек. Нам понадобятся:

Мигающие огни и другие откровения

Все готово к работе, все, что вам нужно сделать, это перейти туда, где находится скрипт, и запустить его. Для этого введите cd [путь к каталогу скрипта], а затем введите python blink.py .

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

Вывод программы должен выглядеть так:

Как только вы нажмете Enter после выбранного количества миганий, Arduino выполнит ваши заказы.

Настройка вашего arduino для python

Для сегодняшнего проекта мы будем использовать Arduino Uno вместе с интерфейсом pyFirmata для Python. Для этого вы можете использовать практически любую Arduino-совместимую плату, хотя на момент написания интерфейса PyFfirmata поддерживались только Arduino Uno, Mega, Due и Nano.

Если вы этого еще не сделали, установите Arduino IDE. Если вы совершенно новичок в мире микроконтроллеров, наше руководство для начинающих по Arduinoруководство для поможет вам все на месте.

Подключите плату Arduino и откройте IDE. Убедитесь, что в меню « Инструменты» выбраны правильные плата и порт. Загрузите пример эскиза StandardFirmata и загрузите его на доску. Это позволит вам напрямую управлять Arduino, если он подключен к компьютеру через USB. Если эскиз загружен на вашу доску без ошибок, вы готовы двигаться дальше.

Скетч для arduino

В качестве примера будет использоваться скетч, включающий и выключающий светодиод, по команде из Serial-порта.

WARNING

Светодиод в Arduino SS Micro висит на порте SS, и поэтому он автоматически выключается. Не смотря на это, стандартный пример Blink — мигающий светодиод работает.

char inChar;
#define LED_PIN SS

void setup() {
  pinMode(LED_PIN, OUTPUT); // Инициализация светодиода
  Serial.begin(115200); // Инициализация Serial - порта
}

void loop() {
  if (Serial.available() > 0)
  {
    inChar = Serial.read();
    if (inChar=='e') // e - Enable - включить
    {
      digitalWrite(LED_PIN,HIGH);
    }
  }
  
    else if (inChar=='d') // d - Disable - выключить
    {
      digitalWrite(LED_PIN,LOW);
    }
  
    else if (inChar=='b')  // b - Blink - выключить режим мигания
    {
      while (true){
      digitalWrite(LED_PIN,HIGH);
      delay(1000);
      digitalWrite(LED_PIN,LOW);
      delay(1000);
    }
    }
}

Если вы будете использовать другую Arduino — не забудьте сменить пин светодиода.

Соединения

Чтобы не повредить плату Arduino из-за большой случайной потери тока, мы будем использовать транзистор в качестве переключателя, который использует только небольшое количество тока для управления большим током в двигателе постоянного тока.

Для завершения соединения цепи, как показано на следующей схеме, понадобятся NPN-транзистор (TIP120, N2222 или аналогичный), один диод (1N4001 или аналогичный) и резистор на 220 Ом с DC-двигателем.

Подключите базу транзистора к цифровому выводу 3, который также поддерживает режим PWM. Соедините остальные компоненты, как показано на схеме:

Ссылки

  1. Зуммер (Trema-модуль).
  2. Книга: «Arduino Basic Connections».
  3. Arduino и двигатели.

Установка

Для установки, воспользуемся встроенным менеджером пакетов — pip.

pip install pyserial pyqt5

Для удобства создания GUI можно установить программу QTDesigner.

Выводы

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

Оцените статью
Радиокоптер.ру
Добавить комментарий