Управляем Arduino с компьютера. Python + PyQt5
ฝัง
- เผยแพร่เมื่อ 17 พ.ค. 2024
- В этом уроке покажу как сделать программу для связи Arduino с ПК на Python и PyQt5
► Огромный стартовый набор GyverKIT: kit.alexgyver.ru/
► Примеры из урока: github.com/AlexGyver/tutorials/
► Уроки Arduino на сайте: alexgyver.ru/lessons/
► Модули и датчики с Али: alexgyver.ru/arduino_shop/
► Страница "Заметок Ардуинщика": alexgyver.ru/arduino_lessons/
► Скачать Python: www.python.org/downloads/
► Скачать PyCharm: www.jetbrains.com/ru-ru/pycha...
► Скачать QT Designer: build-system.fman.io/qt-desig...
► Доки на виджеты QT: doc.qt.io/qt-5/widget-classes...
► Установка PyQt5: pip install PyQt5
► Установка pyqtgraph: pip install pyqtgraph
► Урок по графикам: www.mfitzp.com/tutorials/embe...
00:00 Начало
01:00 Коротко о языке Python, подготовка
05:07 Вспоминаем что делали в прошлом уроке
08:02 Работа с QT Designer
13:52 Добавляем элементы управления COM
14:53 Переходим в Питон
16:45 Начинаем кодить, подключаем интерфейс
18:13 Связь по Serial
19:12 Работаем с QSerialPort
21:54 Загружаем список в ComboBox
23:19 Сигналы и слоты
25:24 Обработка кнопок
26:30 Открываем порт по кнопке
29:05 Читаем входящие данные
32:26 Добавляем управление реле/фет/лед
35:26 Делаем удобную функцию отправки пакета
38:17 Управляем светодиодом
39:01 Управляем реле и мосфетом
39:34 Добавляем цвет, крутилку и текст
41:43 Управляем RGB, QSlider
43:51 Управление серво, QDial
44:40 Отправляем текст
47:00 Добавляем индикатор температуры
48:28 Парсим пакеты, температура
51:47 Добавляем показометр
53:18 Добавляем джойстик и кнопку
57:43 Добавляем график
01:02:51 Финал
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru - วิทยาศาสตร์และเทคโนโลยี
Так и фанатом можно стать! Видео приятно смотреть. Ещё до конца не досмотрел, а радости уже море. Радости много от того что не нужно быть ботаном для понимания технического материала, когда человек с открытой душой и простыми словами без заумных терминов рассказывает тебе. Поклон за простоту.
Особенно эта тема важна для развития уже знающим ардуино.
спасибо)
@@ArduNotes Думаю полезнее был бы вебчик и мобильные приложения а десктоп.
@@ArduNotes Доброго времени суток. Спасибо ещё раз за помощь в освоении. Вопрос. А можно ли при помощи Proccesing и его расширении для Android сделать приложение для общения с портом телефона, аналогично serial port для компьютера. То есть приложение на телефоне будет собирать данные с микроконтроллера через usb телефона и визуализировать их при помощи нашего приложения на Proccesing. Прошу прощения если написал что-то неправильно.
Поддерживаю
Саня, спасибо за урок реализации проекта arduino c python. Я думаю, это очень актуальная тема со множеством других интересных функций и возможностей, которую можно развивать на твоём канале и все остальные меня поддежат!
Спасибо вам за ваш труд ждём побольше подробных уроков для начинающих!
Ну это конечно сильно👍 так слёту писать и почти без ошибок причём плохо зная питон. Это заслуживает уважения.
Очень наглядно и доходчиво, без воды. На питоне никогда не кодил (пишу на php и js) но сходу во все врубился. Синтаксис дружелюбный. Спасибо, получил удовольствие от просмотра!
Спасибо за видео и за Ваш труд. Благодаря вашим урокам и начал заниматься микроконтроллерами чуть больше года назад
Спасибо за эту огромнейшую работу, ты не представляешь скольким помог!
Красава побольше-бы таких видео,как раз начал изучать pyton и pychar
Спасибо, Алекс! Давно смотрю, безостановочно восхищаюсь.
Что-то повторил, но без доводки до практического воплощения, разобрав схему после реализации. Зато воплотил в жизнь свою схему на Ардуинке со своей же программкой в системе управления домом, уже окупилось кратно у меня и соседей, хоть они о том и не знают. Вы побудили. Спасибо вам!
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС !
Невероятно емкое и полезное видео! Большущее спасибо, Алекс!
Алекс, это потрясающе) Спасибо большое)
Присоединяюсь. Материал просто отличный. Использовался не для ардуино. Респект! Желаю в таком же духе! Просто и доходчиво.
Спасибо Гайвер, очень хорошие уроки. Много всего можно узнать.
Алекс, ты просто МОЛОДЕЦ. Продолжай развиваться и помогать другим.
Рад что вышел подобный ролик, так как сам только начал осваивать программирование(и начал с питона) :)
И снова я ложусь в два ночи. Спасибо Гайвер, очень интересно и информативно!
Шикарный материал! За считанные минуты объяснил больше чем мычат часами оч. поверхностно.
Блин, Алекс, я тебя люблю) Ты прям второе дыхание у меня открыл)
Видео шикарное! Спасибо!
Да, Алекс. Ты проделал хорошую работу! Это титанический труд, спасибо тебе!
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС!
Просмотрел на одном дыхании. Спасибо!
Для начала - спасибо большое!!! Ну а теперь нужно все это как то освоить😃
Спасибо большое тебе! Я после tkinter пытаюсь освоить qt и ни в одном видосе таких примеров не встречал. С наступающим Новым годом!!!🎄🤝
Спасибо за урок! С точки зрения Ардуино, и Ардуино + Питон, и Ардуино + Питон + Qt - очень хорошо и наглядно.
Спасибо Вам за Ваши уроки на данную тематику. Многим нравится такое направление. Всё таки, управление микроконтроллерами с компьютеров нужная и полезная вещь. Пожалуйста, продолжайте снимать, Вам, как и нам, это нравится. Было бы здорово, если бы ещё видеоуроки про ESP были. Дай Бог Вам здоровья.
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС!!!
Только думаю не кто не делает гайды нормально. А тут вот оно! ты ты ты супер.
Это просто праздник какой-то!
Спасибо за урок. Все очень понравилось, респект!
Спасибо за ваш труд!
Еще бы урок про оболочку под андроид платформу чтобы управлять по блютузу. По идее тот же serial. 👍
вот пример th-cam.com/video/6oUTEatBoh4/w-d-xo.html
всё заводится с первого тычка. Но это BLE 2.0. С BLE 4.0 и выше немного сложнее.
И из самого Qt можно собирать проекты под любую ОС - хоть под винду, хоть под андроид. В примерах самого Qt есть работа QML Bluetooth 4.0.
Скетчвар тебе в помощь . Сам сделал сигналку на авто с телефона
Если устройство простое, то для управления достаточно прописать в скетче обработку нескольких запоминающихся команд. Дальше на Rx-Tx цепляется адаптер HC-06, берется с маркета Serial Terminal. В нем, кстати, можно шаблоны для ввода сохранять. И вот он ввод-вывод готов. Нет смысла городить целое отдельное приложение. Разве что для учебы.
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС
@@sozdatelEd ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС
Огромное спасибо за урок !👍
Блин, я с этим несколько дней разбирался, а тут за час все что нужно.
СПАСИБО БОЛЬШОЕ!!!!!
это голливуд и магия монтажа
Ждал этого ролика, сам пишу подобные приложения, узнал нового.
Как всегда прекрасно!😁👍
Thank you very much for your excellent course!
Агонь! Теперь нужен урок по созданию приложения Андроид - Ардуино через блютуз!
Добрейшего. Позволил себе немного сократить:
код 37:13 строки с 28 по 34 можно упростить до одной строки
print(','.join([str(s) for s in data])+';')
по анологии код на 37:55 строки с 28 по 34 можно упростить до одной строки
serial.write((','.join([str(s) for s in data])+';').encode())
P.s.
Я понимаю, что это может быть тяжело-читаемо для непитониста.
I don't speak Russian, but the tutorial is excellent. Exactly what I want. Design a Layout with Designer and use the Layout in Code instead of generating all Widgets in Code.
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС !!
JESUS IS THE KING OF THE KINGS
LOVE GOD AND EVERYONE
GOD IS REAL!
666, the Number of the beast
Удивительно, но факт: Эти гайды информативнее чем от Хауди Хо
Материалов то куча, но у тебя просто, доходчиво, ничего лишнего и голос приятный
И в большинстве уроков сразу пишут код без объяснений того, где его найти.
Питон мне лично очень нравится. Видео воспринимается очень легко, спасибо!
Если было бы возможность поставил бы тысячи лайков. Спасибо вам за Ваши видео уроки .
Видео динамит! Спасибо за ваш труд!
Спасибо, супер. Для полной метеостанции не хватает сохранения данных в XML файл, отсылки данных на народный мониторинг и работы с трея. Ну и получения данных с нескольких ардуинок.
Месяц тому назад я создал условно игровой руль с помощью Arduino Nano + Python, так как напрямую моя Nano не прошивается как джойстик. Приходилось самому во всем разбираться. И тут вот тебе видос все готовое
для меня этот ггайд - это конец декабря и все каникулы. по строчке по часу по чуть-чуть, каждый пройденный шаг вызывает радость.
очень хорошо что показываешь как работать с библиотеками - это база подачи материала, т.е. раскрываешь все стороны взаимодействия с предметом.
и именно то что можно взаимодейстовать с устройством посредством компа. Вообщем, подержать руками. а не эфемерное ЭХеллоWорлдЭ
такой материал необходимо развивать.
ну и чиста для проверки связи с аффтаром: куды кидать поддержку для аффтара
Еще не начал смотреть но уже поставил лайк! Я только что начал осваивать Python, хороший не сложный язык. Несколько лет назад купил Arduino и не знал как сделать управление с компьютера Ардуинкой. Искал и почти ничего не мог найти. Я все таки смог реализовать но очень коряво и только включение реле и забросил это дело. Я раньше Python и не думал изучать, а тут недавно занялся, понравилось и захотелось реализовать что то поинтереснее "калькуляторов". GUI имеет огромное практическое применение. Спасибо вам огромное!
Этот ролик оказался последней каплей в чаше моего интереса к Ардуино, ибо Питон весьма уважаю, уважаю и СРР тоже. Мне надоело интересоваться и захотелось попробовать. Я таки приобрел себе GyverKIT-мини. По цене вышло на штуку больше, чем было бы в розницу на Али. Считаю, что оно того стоит, учитывая скорость почты и вероятности ошибок в выборе компонентов при покупке напрямую у китайцев. Доставка в Москву СДЕКом длилась всего сутки. Оплата при получении, что крайне удобно для меня. Комплектация соответствует описанию на сайте, упаковка качественная, платы запаяны в антистатические пакеты. Буду развлекаться. Кроме того, усматриваю и варианты практического применения этой платформы.
как всегда лучший. ждем с нетерпением объяснение основ ООП Твоим понятным языком.
слава питону, спасибо gyver идеальное видео(хотя я его не смотрел, но уже поставио лайк)
Спасибо, получил удовольствие от просмотра!
Классно. Когда нужно научится чему то новому - это супер пособие для таких как я. Пока использую Blynk для работы с арудуино на телефоне. Порог вхождения еще ниже, чем в этом уроке.
Круто!
Спасибо!
Стоило задуматься над вопросом связи с ардуинкой через питон, как мне выдало в рекомендацию это Видео.
А ведь я даже не искал, не гуглил - просто подумал...
Жесть...
Спасибо отдельное за построитель графиков - очень пригодится для моего текущего обучения по ИИ на питоне!
Gyver красава! показал ребенку , он в восторге
Видос, топ.
Вдохновил кодить проги
Автор видео красава. Я на питоне более 3 года, но всё, что ты имел ввиду, я это понял. Смысл хорошо доносишь а как они это будут реализовать - Не наше дело так сказать. Спасибо большое)
Отлично! Жду видео на следующую тему - "Управляем ESP 8266 с компьютера. Python + MQTT , GSM SMS, Telnet, Telegram и ICQ".
Спасибо, как раз хотел изучить
не, классно, что ты не писал на ооп, потому что это правда достаточно сложная тема, но все же, считаю, что нужно выложить два архива с ооп и без, на всякий случай)
Лайк, однозначно)
спасибо за подробный урок) всё чётко, а главное учишь искать по докам и понимать, а не зубрить
29:05 достаточно было написать: ui.closeB.clicked.connect(serial.close) и не нужно лишней функции
37:07 можно проще: txs += str(val) + ','
ну или ещё проще: txs = ','.join(str(v) for v in data) + ';'
а если там заведомо будут только строки, то: txs = ','.join(data) + ';'
*Спасибо. По таким видео можно учиться*
Нет. Учиться нет. Можно лишь очень поверхностно и бегло посмотреть и ознакомиться.
Спасибо) только вчера гуглил про питон)
Отлично! Наконец-то я понимаю код 🤣👍
Спасибище огромное, было очень интересно.
*Спасибо за гайд по питону! Раньше я себе представлял, что это гораздо сложнее, чем есть на самом деле!*
Не описать ту душевную боль которую я испытал пока ты программировал на питоне (учу С++)
Я тоже пользуюсь Qt а не PyQt, капец боль
@@iluha1688 смотря на твою аву я немного(много) не верю
Тоже уже много лет пишу на с/с++ и кьют гуи. Не понимаю зачем Алекс форсит Пайтон. Для Ардуино контроллеров сам Ктулху предписал с++ гуи юзать
эм, в самом начале видео сказано и показано, зачем и почему вышел этот урок
@@iluha1688 Одна фигня.
Отличное видео! Спасибо огромное!
Хорошее видео. Учу своих студентов работать с Ардуино по USB, но на C#. Делаем похожие программки для управления/визуализации. Всё очень легко и просто. В принципе, можно писать на любых языках... Надо как нибудь и программы на Питон им показать...
I worked with this video using English captions, and it was still helpfull. Many thanks!
Спасибо за урок по PyQt👍 Прокачивай своего питона🐍
Больше таких уроков!!!!!!!!!
Какое счастливое совпадение.
Как раз на неделе дошли руки до графиков в PyQt5. И их настройка была сложной... До сегодняшнего дня конечно)
ну всё, ждем возбужденных питонистов в чат... :-)
Как всегда все Супер.
Python one love!
Thanks for AlexGyver!!!!
О, вы из англии
@@ananasfioletovО, вы,
из России
Работа с документацией pyqt - бесценно!
Огромное Вам спасибо за помощь и труд!!!
Подскажите, пожалуйста, можно ли при закрытии управляющего окна крестиком выключить все выходы Arduino? Передать эдакий "прощальный" пакет данных. Попытка сделать это самостоятельно по сигналу "destroyed" у меня приводит к ошибке и устройство не выключается, а продолжает работу.
Следующий гайд делай на HTML, а вообще я просто офигеваю с твоих самоделок, они очень крутые.
Чего там учить то))
Отлично, как раз делал пол года назад очень похожую программу для ардуино, но на Visual Basic. Будет что сравнить.
Отлично! То, что надо!
спасибо за урок! но не проще ли написать прогу на cpp?
Супер видео. Спасибо!!!
сериал hui))
оторал
Пасхалочка)
тоже проорался )))
где!?!?!? хочу проораться
Спасибо за урок 👍👍👍
Как всегда выше всяких похвал! Народ не стесняется поддерживаем!!! В последнее время нас так часто радуют!
36:55
txs = ','.join(data) + ';'
54:05
ui.circle.setChecked(data[1] == 0)
Небольшие замечания, но в целом урок неплохой))
1:00:30
listX = list(range(100))
Спасибо большое, очень интересно
Офигел задолго до середины видео... Только начал изучать язык программирования но интерес только растёт. Одно беспокоит - пока очень непонятно, как можно разобраться во всей мешанине букв/цифр/функций )) Тут простейшие арифметические действия вывел на экран и радости ппц, а видео глянул и прифигел.. сколько всего ещё нужно изучать.
Спасибо, было познавательно
txs = f"5,{u1.textF.displayText}"
форматирование текста по моему мнениш удобнее, а так Ваш канал просто супер!
Молодец, отличный урок)
Питон - топовый, комментаторы, которые его ругают, просто злобные. Можно конечно писать красивее, с опытом) Я за 10 лет написал на питоне велосипедов не меньше чем у тебя самоделок из сантеха :) Там вообще можно накидать веб-сервер и управлять всем этим добром из браузера, по вебсокетам, в реальном времени, и с нескольких устройств одновременно. И код будет простой-понятый, полно готовых библиотек, а на си такое замучаешься писать.
В кнопку джойстика можно сразу передавать булеан в виде условия ui.circle.setChecked(data[1] == '0')
case switch является архаизмом, но появится в 3.10 питоне(уже совсем скоро), хотя в питоне он будет нацелен на более сложные сравнения чем в С
Также в питоне есть типы, можно было функцию объявить как def test(a: list[int]): чтобы не делать комментарий
1:51 и на первом месте как всегда видос от Хауди Хо :)
Алекс будь добр сделай пожалуйста видос как все тоже самое делать под есп с парсингом юдп-пакетов по вифи.
нее, ничего кроме Python, потому как мультиплатформа.
Ну и захотелось после просто Pytho скриптов поковырять Qt, сподвиг так сказать. За что огромадное СПАСИБО!!! Рахмат, ука!
В общем то здесь на самом деле даже больше возможностей, чем на Processing
Алекс, запиливай уже цикл уроков по сборке и настройке робо собаки, аналога от Бостона
Ага, и ROS еще прикрутить к ней
А после уже и марсоход можно)
Не, не погоди. Он сейчас очень важные темы затрагивает. Многому можно научиться.
Собака от Бостон на сан техе🤣
Ну а шо. Щя питон туда сюда.. врубится.. потом комп. зрение... потом шир пыр и вжух скормил обученную модель, сервы, мервы присобачил и можно в бутку вместо барбоса. В бутке розетку надо только для зарядки провести.
Супер!
В python есть модуль threading чтобы запустить while loop в отдельном процессе! Тоже есть библиотека kivy и kivymd для gui и компиляции под Android! Сам делал управление ленты через телефон и Python serial service на компьютере, круто работает, можешь загуглить! Крутой урок!! 😊
Лайк глядя!
Я думаю у Гайвера есть машина времени на Arduino. Иначе я не понимаю как можно с такой скоростью штамповать такой интересный и качественный контент. Не говоря уже о тоннах поделок на основе которых эти видео делаются.