Так и фанатом можно стать! Видео приятно смотреть. Ещё до конца не досмотрел, а радости уже море. Радости много от того что не нужно быть ботаном для понимания технического материала, когда человек с открытой душой и простыми словами без заумных терминов рассказывает тебе. Поклон за простоту.
@@ArduNotes Доброго времени суток. Спасибо ещё раз за помощь в освоении. Вопрос. А можно ли при помощи Proccesing и его расширении для Android сделать приложение для общения с портом телефона, аналогично serial port для компьютера. То есть приложение на телефоне будет собирать данные с микроконтроллера через usb телефона и визуализировать их при помощи нашего приложения на Proccesing. Прошу прощения если написал что-то неправильно.
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.
Добрейшего. Позволил себе немного сократить: код 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. Я понимаю, что это может быть тяжело-читаемо для непитониста.
сначала хотел предложить что-то типа: txs = txs[:-1]+';' потом, подумав, решил что можно так: txs= re.sub(",$", ";", txs) (правда надо сперва сделать import re) но ваш вариант конечно тхе бест чтобы было лучше читаемо для непитониста, просто стоит расшифровать blabla = [str(s) for s in data] из list of integers мы делаем list of strings. просто немного непривычно что функция преобразования str(s) указывается перед описанием цикла, а не внутри цикла ','.join( blabla ) - этот list of strings мы соединяем в одну строку с помощью join и запятую берем как соединитель. join работает только с list of strings - потому перед этим и делали преобразование + ';' - ну и потом добавляем терминатор в конец
Спасибо, Алекс! Давно смотрю, безостановочно восхищаюсь. Что-то повторил, но без доводки до практического воплощения, разобрав схему после реализации. Зато воплотил в жизнь свою схему на Ардуинке со своей же программкой в системе управления домом, уже окупилось кратно у меня и соседей, хоть они о том и не знают. Вы побудили. Спасибо вам!
Саня, спасибо за урок реализации проекта arduino c python. Я думаю, это очень актуальная тема со множеством других интересных функций и возможностей, которую можно развивать на твоём канале и все остальные меня поддежат!
Очень наглядно и доходчиво, без воды. На питоне никогда не кодил (пишу на php и js) но сходу во все врубился. Синтаксис дружелюбный. Спасибо, получил удовольствие от просмотра!
Еще не начал смотреть но уже поставил лайк! Я только что начал осваивать Python, хороший не сложный язык. Несколько лет назад купил Arduino и не знал как сделать управление с компьютера Ардуинкой. Искал и почти ничего не мог найти. Я все таки смог реализовать но очень коряво и только включение реле и забросил это дело. Я раньше Python и не думал изучать, а тут недавно занялся, понравилось и захотелось реализовать что то поинтереснее "калькуляторов". GUI имеет огромное практическое применение. Спасибо вам огромное!
Молодец, отличный урок) Питон - топовый, комментаторы, которые его ругают, просто злобные. Можно конечно писать красивее, с опытом) Я за 10 лет написал на питоне велосипедов не меньше чем у тебя самоделок из сантеха :) Там вообще можно накидать веб-сервер и управлять всем этим добром из браузера, по вебсокетам, в реальном времени, и с нескольких устройств одновременно. И код будет простой-понятый, полно готовых библиотек, а на си такое замучаешься писать.
Этот ролик оказался последней каплей в чаше моего интереса к Ардуино, ибо Питон весьма уважаю, уважаю и СРР тоже. Мне надоело интересоваться и захотелось попробовать. Я таки приобрел себе GyverKIT-мини. По цене вышло на штуку больше, чем было бы в розницу на Али. Считаю, что оно того стоит, учитывая скорость почты и вероятности ошибок в выборе компонентов при покупке напрямую у китайцев. Доставка в Москву СДЕКом длилась всего сутки. Оплата при получении, что крайне удобно для меня. Комплектация соответствует описанию на сайте, упаковка качественная, платы запаяны в антистатические пакеты. Буду развлекаться. Кроме того, усматриваю и варианты практического применения этой платформы.
спасибо за подробный урок) всё чётко, а главное учишь искать по докам и понимать, а не зубрить 29:05 достаточно было написать: ui.closeB.clicked.connect(serial.close) и не нужно лишней функции 37:07 можно проще: txs += str(val) + ',' ну или ещё проще: txs = ','.join(str(v) for v in data) + ';' а если там заведомо будут только строки, то: txs = ','.join(data) + ';'
вот пример ua-cam.com/video/6oUTEatBoh4/v-deo.html всё заводится с первого тычка. Но это BLE 2.0. С BLE 4.0 и выше немного сложнее. И из самого Qt можно собирать проекты под любую ОС - хоть под винду, хоть под андроид. В примерах самого Qt есть работа QML Bluetooth 4.0.
Если устройство простое, то для управления достаточно прописать в скетче обработку нескольких запоминающихся команд. Дальше на Rx-Tx цепляется адаптер HC-06, берется с маркета Serial Terminal. В нем, кстати, можно шаблоны для ввода сохранять. И вот он ввод-вывод готов. Нет смысла городить целое отдельное приложение. Разве что для учебы.
Спасибо, супер. Для полной метеостанции не хватает сохранения данных в XML файл, отсылки данных на народный мониторинг и работы с трея. Ну и получения данных с нескольких ардуинок.
Инициализации списков можно делать следующими конструкциями: listX = [ i for i in range(100)] listY = [0] * 100 Объединять числа в строке с разделителем можно так - “,”.join(список чисел) Функция map есть в питоне, но она предназначена для применения функций к некоторым объектам
Месяц тому назад я создал условно игровой руль с помощью Arduino Nano + Python, так как напрямую моя Nano не прошивается как джойстик. Приходилось самому во всем разбираться. И тут вот тебе видос все готовое
Ну а шо. Щя питон туда сюда.. врубится.. потом комп. зрение... потом шир пыр и вжух скормил обученную модель, сервы, мервы присобачил и можно в бутку вместо барбоса. В бутке розетку надо только для зарядки провести.
Спасибо Вам за Ваши уроки на данную тематику. Многим нравится такое направление. Всё таки, управление микроконтроллерами с компьютеров нужная и полезная вещь. Пожалуйста, продолжайте снимать, Вам, как и нам, это нравится. Было бы здорово, если бы ещё видеоуроки про ESP были. Дай Бог Вам здоровья.
Круто! Спасибо! Стоило задуматься над вопросом связи с ардуинкой через питон, как мне выдало в рекомендацию это Видео. А ведь я даже не искал, не гуглил - просто подумал... Жесть... Спасибо отдельное за построитель графиков - очень пригодится для моего текущего обучения по ИИ на питоне!
@@ArduNotes Вместо: listX = [] for x in range(100): listX.append(x) Можно было: listX = list(range(100)) Вместо: listY = [] for x in range(100): listY.append(0) Можно было: listY = [0 for _ in range(100)] Последнее называется list comprehension. Довольно мощная штука. Позволяет хитрые списки (и не только) в одну строчку собирать.
для меня этот ггайд - это конец декабря и все каникулы. по строчке по часу по чуть-чуть, каждый пройденный шаг вызывает радость. очень хорошо что показываешь как работать с библиотеками - это база подачи материала, т.е. раскрываешь все стороны взаимодействия с предметом. и именно то что можно взаимодейстовать с устройством посредством компа. Вообщем, подержать руками. а не эфемерное ЭХеллоWорлдЭ такой материал необходимо развивать. ну и чиста для проверки связи с аффтаром: куды кидать поддержку для аффтара
Офигел задолго до середины видео... Только начал изучать язык программирования но интерес только растёт. Одно беспокоит - пока очень непонятно, как можно разобраться во всей мешанине букв/цифр/функций )) Тут простейшие арифметические действия вывел на экран и радости ппц, а видео глянул и прифигел.. сколько всего ещё нужно изучать.
не, классно, что ты не писал на ооп, потому что это правда достаточно сложная тема, но все же, считаю, что нужно выложить два архива с ооп и без, на всякий случай) Лайк, однозначно)
Хорошее видео. Учу своих студентов работать с Ардуино по USB, но на C#. Делаем похожие программки для управления/визуализации. Всё очень легко и просто. В принципе, можно писать на любых языках... Надо как нибудь и программы на Питон им показать...
Классно. Когда нужно научится чему то новому - это супер пособие для таких как я. Пока использую Blynk для работы с арудуино на телефоне. Порог вхождения еще ниже, чем в этом уроке.
При передаче данных о СОМ портах, удобно поставить условие, что "если их больше одного", то сразу переключать с СОМ1 на следующий, я у себя так реализовал, так как обычно подлючено одно устройство, и точно не на СОМ1
Странно, что вы не использовали QtCreator для написания кода на пайтоне. Там тот же QtDesigner уже встроенный, не нужно было бы танцы с бубном устраивать 8:55 - там ешё View элементы есть, помимо виджетов. Для них намного удобнее и читабельнее писать логику при помощи моделей (QTableModel для той же QTableView и т.п.)
Qt Designer обычно поставляется как часть Qt Creator. Это официальный редактор Qt, который позволяет вам делать гораздо больше, чем просто графически разрабатывать пользовательские интерфейсы. Это полноценная и очень мощная среда разработки C ++ IDE. Однако за эту функциональность приходится платить: загрузка Qt Creator занимает гигабайты!
нее, ничего кроме Python, потому как мультиплатформа. Ну и захотелось после просто Pytho скриптов поковырять Qt, сподвиг так сказать. За что огромадное СПАСИБО!!! Рахмат, ука! В общем то здесь на самом деле даже больше возможностей, чем на Processing
В чем может быть, Pyсharm ругается на uic и QSerialPortInfo?? (ModuleNotFoundError: No module named 'PyQt5') Модуль PyQt5 установлен в Pycharm. Arduino подключен.
С огромным уважением к автору. Мелочи, но ... Списки listX и listY можно не объявлять глобальными. Это лишнее. Создать их лучше вот так: listX = [x for x in range(100)], listY = [0] * 100. Чтобы не было ошибки по listY в def onRead() строку listY = listY[1:] я бы заменил на listY.pop(0). Зачем каждый раз новый список создавать? А вот переменные posX и posY, чтобы не объявлять глобальными (в Python это не очень приветствуется), можно перевести в списки, т.е. posX = [200] и posY = [100]. А обращаться к ним по ключу 0, т.е. posX[0] или posY[0]. Спасибо за видео!
В кнопку джойстика можно сразу передавать булеан в виде условия ui.circle.setChecked(data[1] == '0') case switch является архаизмом, но появится в 3.10 питоне(уже совсем скоро), хотя в питоне он будет нацелен на более сложные сравнения чем в С Также в питоне есть типы, можно было функцию объявить как def test(a: list[int]): чтобы не делать комментарий
Нормальный урок. Все четко и по смыслу. А то что делаешь не так или называешь не так - ну и что? Главное урок в тему, и результат есть. Молодец, и по другому не скажешь. а пальцы гнуть и говорить вот ты тут- не так... да наплюй, у тебя работает, а у них, зато, всё так… Лайк по-любому, но подписываться не буду, ибо уже подписан ))))
Можно использовать Qt Quick, он гораздо удобнее чем голый Qt Designer. Использует свой синтаксис QML, можно кодить на питоне прямо в интерфейсе Qt Quick. На просторах ютюба есть видеоуроки на английском.
За интеграцию с python спасибо! Я долго не мог понять, почему из COM-порта ничего не приходит. Код идентичен. Помогло сразу после инициализации объекта сначала закрыть порт, а потом уже открывать. serial = QSerialPort() serial.setBaudRate(115200) serial.close()
Огромное Вам спасибо за помощь и труд!!! Подскажите, пожалуйста, можно ли при закрытии управляющего окна крестиком выключить все выходы Arduino? Передать эдакий "прощальный" пакет данных. Попытка сделать это самостоятельно по сигналу "destroyed" у меня приводит к ошибке и устройство не выключается, а продолжает работу.
rx = serial.readLine() далеко не всегда сработает, как у автора ролика. В видео пакет данных прилетает и красиво помещается в строку. Но на разных компах пакет может подробиться на несколько строк и нужно будет склеивать. И еще import PyQT from uic много у кого не работает, это известная массовая проблема.
Мой первый язык это был питон и я программировал в "spyder" потом учил с# + windows forms сейчас изучаю Ардуино на с++ По моему мнению с# + windows forms проще всего делать визуальную часть приложения
Автор видео красава. Я на питоне более 3 года, но всё, что ты имел ввиду, я это понял. Смысл хорошо доносишь а как они это будут реализовать - Не наше дело так сказать. Спасибо большое)
Я думаю у Гайвера есть машина времени на Arduino. Иначе я не понимаю как можно с такой скоростью штамповать такой интересный и качественный контент. Не говоря уже о тоннах поделок на основе которых эти видео делаются.
Я построил сервер и общения с ардуино + GSM модемом через com порт на Visual Basic 6. Старенький легкий и быстрый язык. Пайтон очень медленный. Очень (в сравнении). Наверное самый даже.
По твоей же просьбе) 21:09 используй генераторы списков portList = [port.portName() for port in ports] 36:17 Лучше всего склеивать с помощью строкового метода join txs = ','.join(map(str, data)) + ';' 48:00 Вместо switch в python активно используют словари для этого, но по факту в твоём случае в этом смысла мало и обычного if ... elif ... elif ... else будет достаточно) 54:10 используй ctrl+alt+L в питоне так не пишут PEP 8 57:03 используй // - целочисленное деление / - это обычное деление и приводит к float и да в питоне преобразование строки к int возможно только в случае когда строка состоит только из цифр P.s. т.к. ты сам сказал что ООП намерено не используешь не буду заострять на этот внимание, но да гораздо лучше переписать это все в ООП стиле;) А в остальном всё очень даже ничего и принимая во внимание то что ты не знаком с этим ЯПом то можно только похвалить)
Я использую для программирования Sublime Text 3. Очень удобный редактор кода. А про ролик очень класно и информативно, Спасибо! PyQt5 очень похож на Паскалевские формы.
Взял себя в руки. Покодил на питоне. В принципе хорошо. Если тут будут ещё видео про питон, хорошо, может освою получше. Си++ Все-таки сложнее. Много в нете обучения программированию, но Алекса подача подходящая. Только после его видов есть запал и более менее началось получатся.
@@vasiasmit7163 не знаю как вы, но я только что сделал проект на c# и у меня это заняло КАК МИНИМУМ 3 строки (подключение порта, отправка данных, получение данных), только с получением у меня беда, когда код пытается получить данные то он зависает.
В python есть модуль threading чтобы запустить while loop в отдельном процессе! Тоже есть библиотека kivy и kivymd для gui и компиляции под Android! Сам делал управление ленты через телефон и Python serial service на компьютере, круто работает, можешь загуглить! Крутой урок!! 😊
Так и фанатом можно стать! Видео приятно смотреть. Ещё до конца не досмотрел, а радости уже море. Радости много от того что не нужно быть ботаном для понимания технического материала, когда человек с открытой душой и простыми словами без заумных терминов рассказывает тебе. Поклон за простоту.
Особенно эта тема важна для развития уже знающим ардуино.
спасибо)
@@ArduNotes Думаю полезнее был бы вебчик и мобильные приложения а десктоп.
@@ArduNotes Доброго времени суток. Спасибо ещё раз за помощь в освоении. Вопрос. А можно ли при помощи Proccesing и его расширении для Android сделать приложение для общения с портом телефона, аналогично serial port для компьютера. То есть приложение на телефоне будет собирать данные с микроконтроллера через usb телефона и визуализировать их при помощи нашего приложения на Proccesing. Прошу прощения если написал что-то неправильно.
Поддерживаю
Ну это конечно сильно👍 так слёту писать и почти без ошибок причём плохо зная питон. Это заслуживает уважения.
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
Добрейшего. Позволил себе немного сократить:
код 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.
Я понимаю, что это может быть тяжело-читаемо для непитониста.
сначала хотел предложить что-то типа: txs = txs[:-1]+';'
потом, подумав, решил что можно так: txs= re.sub(",$", ";", txs) (правда надо сперва сделать import re)
но ваш вариант конечно тхе бест
чтобы было лучше читаемо для непитониста, просто стоит расшифровать
blabla = [str(s) for s in data] из list of integers мы делаем list of strings. просто немного непривычно что функция преобразования str(s) указывается перед описанием цикла, а не внутри цикла
','.join( blabla ) - этот list of strings мы соединяем в одну строку с помощью join и запятую берем как соединитель. join работает только с list of strings - потому перед этим и делали преобразование
+ ';' - ну и потом добавляем терминатор в конец
Спасибо, Алекс! Давно смотрю, безостановочно восхищаюсь.
Что-то повторил, но без доводки до практического воплощения, разобрав схему после реализации. Зато воплотил в жизнь свою схему на Ардуинке со своей же программкой в системе управления домом, уже окупилось кратно у меня и соседей, хоть они о том и не знают. Вы побудили. Спасибо вам!
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС !
Спасибо за урок! С точки зрения Ардуино, и Ардуино + Питон, и Ардуино + Питон + Qt - очень хорошо и наглядно.
Саня, спасибо за урок реализации проекта arduino c python. Я думаю, это очень актуальная тема со множеством других интересных функций и возможностей, которую можно развивать на твоём канале и все остальные меня поддежат!
Очень наглядно и доходчиво, без воды. На питоне никогда не кодил (пишу на php и js) но сходу во все врубился. Синтаксис дружелюбный. Спасибо, получил удовольствие от просмотра!
Еще не начал смотреть но уже поставил лайк! Я только что начал осваивать Python, хороший не сложный язык. Несколько лет назад купил Arduino и не знал как сделать управление с компьютера Ардуинкой. Искал и почти ничего не мог найти. Я все таки смог реализовать но очень коряво и только включение реле и забросил это дело. Я раньше Python и не думал изучать, а тут недавно занялся, понравилось и захотелось реализовать что то поинтереснее "калькуляторов". GUI имеет огромное практическое применение. Спасибо вам огромное!
Молодец, отличный урок)
Питон - топовый, комментаторы, которые его ругают, просто злобные. Можно конечно писать красивее, с опытом) Я за 10 лет написал на питоне велосипедов не меньше чем у тебя самоделок из сантеха :) Там вообще можно накидать веб-сервер и управлять всем этим добром из браузера, по вебсокетам, в реальном времени, и с нескольких устройств одновременно. И код будет простой-понятый, полно готовых библиотек, а на си такое замучаешься писать.
Этот ролик оказался последней каплей в чаше моего интереса к Ардуино, ибо Питон весьма уважаю, уважаю и СРР тоже. Мне надоело интересоваться и захотелось попробовать. Я таки приобрел себе GyverKIT-мини. По цене вышло на штуку больше, чем было бы в розницу на Али. Считаю, что оно того стоит, учитывая скорость почты и вероятности ошибок в выборе компонентов при покупке напрямую у китайцев. Доставка в Москву СДЕКом длилась всего сутки. Оплата при получении, что крайне удобно для меня. Комплектация соответствует описанию на сайте, упаковка качественная, платы запаяны в антистатические пакеты. Буду развлекаться. Кроме того, усматриваю и варианты практического применения этой платформы.
36:55
txs = ','.join(data) + ';'
54:05
ui.circle.setChecked(data[1] == 0)
Небольшие замечания, но в целом урок неплохой))
1:00:30
listX = list(range(100))
Блин, я с этим несколько дней разбирался, а тут за час все что нужно.
СПАСИБО БОЛЬШОЕ!!!!!
это голливуд и магия монтажа
спасибо за подробный урок) всё чётко, а главное учишь искать по докам и понимать, а не зубрить
29:05 достаточно было написать: ui.closeB.clicked.connect(serial.close) и не нужно лишней функции
37:07 можно проще: txs += str(val) + ','
ну или ещё проще: txs = ','.join(str(v) for v in data) + ';'
а если там заведомо будут только строки, то: txs = ','.join(data) + ';'
Еще бы урок про оболочку под андроид платформу чтобы управлять по блютузу. По идее тот же serial. 👍
вот пример ua-cam.com/video/6oUTEatBoh4/v-deo.html
всё заводится с первого тычка. Но это BLE 2.0. С BLE 4.0 и выше немного сложнее.
И из самого Qt можно собирать проекты под любую ОС - хоть под винду, хоть под андроид. В примерах самого Qt есть работа QML Bluetooth 4.0.
Скетчвар тебе в помощь . Сам сделал сигналку на авто с телефона
Если устройство простое, то для управления достаточно прописать в скетче обработку нескольких запоминающихся команд. Дальше на Rx-Tx цепляется адаптер HC-06, берется с маркета Serial Terminal. В нем, кстати, можно шаблоны для ввода сохранять. И вот он ввод-вывод готов. Нет смысла городить целое отдельное приложение. Разве что для учебы.
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС
@@sozdatelEd ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС
Спасибо, супер. Для полной метеостанции не хватает сохранения данных в XML файл, отсылки данных на народный мониторинг и работы с трея. Ну и получения данных с нескольких ардуинок.
Спасибо за видео и за Ваш труд. Благодаря вашим урокам и начал заниматься микроконтроллерами чуть больше года назад
Спасибо вам за ваш труд ждём побольше подробных уроков для начинающих!
Инициализации списков можно делать следующими конструкциями:
listX = [ i for i in range(100)]
listY = [0] * 100
Объединять числа в строке с разделителем можно так - “,”.join(список чисел)
Функция map есть в питоне, но она предназначена для применения функций к некоторым объектам
Месяц тому назад я создал условно игровой руль с помощью Arduino Nano + Python, так как напрямую моя Nano не прошивается как джойстик. Приходилось самому во всем разбираться. И тут вот тебе видос все готовое
Алекс, запиливай уже цикл уроков по сборке и настройке робо собаки, аналога от Бостона
Ага, и ROS еще прикрутить к ней
А после уже и марсоход можно)
Не, не погоди. Он сейчас очень важные темы затрагивает. Многому можно научиться.
Собака от Бостон на сан техе🤣
Ну а шо. Щя питон туда сюда.. врубится.. потом комп. зрение... потом шир пыр и вжух скормил обученную модель, сервы, мервы присобачил и можно в бутку вместо барбоса. В бутке розетку надо только для зарядки провести.
Следующий гайд делай на HTML, а вообще я просто офигеваю с твоих самоделок, они очень крутые.
Чего там учить то))
Красава побольше-бы таких видео,как раз начал изучать pyton и pychar
Присоединяюсь. Материал просто отличный. Использовался не для ардуино. Респект! Желаю в таком же духе! Просто и доходчиво.
Спасибо Вам за Ваши уроки на данную тематику. Многим нравится такое направление. Всё таки, управление микроконтроллерами с компьютеров нужная и полезная вещь. Пожалуйста, продолжайте снимать, Вам, как и нам, это нравится. Было бы здорово, если бы ещё видеоуроки про ESP были. Дай Бог Вам здоровья.
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС!!!
Круто!
Спасибо!
Стоило задуматься над вопросом связи с ардуинкой через питон, как мне выдало в рекомендацию это Видео.
А ведь я даже не искал, не гуглил - просто подумал...
Жесть...
Спасибо отдельное за построитель графиков - очень пригодится для моего текущего обучения по ИИ на питоне!
Удивительно, но факт: Эти гайды информативнее чем от Хауди Хо
слава питону, спасибо gyver идеальное видео(хотя я его не смотрел, но уже поставио лайк)
36:08
Все в строку можно сделать так:
data = list(map(str, data))
Собрать с разделителем можно:
data = ",".join(data)
да, у меня так и сделано в примерах на гитхаб
@@ArduNotes
Вместо:
listX = []
for x in range(100): listX.append(x)
Можно было:
listX = list(range(100))
Вместо:
listY = []
for x in range(100): listY.append(0)
Можно было:
listY = [0 for _ in range(100)]
Последнее называется list comprehension. Довольно мощная штука. Позволяет хитрые списки (и не только) в одну строчку собирать.
@@ltlroo или lstY = [0] * 100
не, ну тогда по модному нужно
data = [str(x) for x in data]
Да, Алекс. Ты проделал хорошую работу! Это титанический труд, спасибо тебе!
ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС!
Спасибо большое тебе! Я после tkinter пытаюсь освоить qt и ни в одном видосе таких примеров не встречал. С наступающим Новым годом!!!🎄🤝
Не описать ту душевную боль которую я испытал пока ты программировал на питоне (учу С++)
Я тоже пользуюсь Qt а не PyQt, капец боль
@@iluha168 смотря на твою аву я немного(много) не верю
Тоже уже много лет пишу на с/с++ и кьют гуи. Не понимаю зачем Алекс форсит Пайтон. Для Ардуино контроллеров сам Ктулху предписал с++ гуи юзать
эм, в самом начале видео сказано и показано, зачем и почему вышел этот урок
@@iluha168 Одна фигня.
37:11 можно и нужно было строку не через цикл собрать с обрезкой последнего символа, а через join - оно бы сразу как надо было
для меня этот ггайд - это конец декабря и все каникулы. по строчке по часу по чуть-чуть, каждый пройденный шаг вызывает радость.
очень хорошо что показываешь как работать с библиотеками - это база подачи материала, т.е. раскрываешь все стороны взаимодействия с предметом.
и именно то что можно взаимодейстовать с устройством посредством компа. Вообщем, подержать руками. а не эфемерное ЭХеллоWорлдЭ
такой материал необходимо развивать.
ну и чиста для проверки связи с аффтаром: куды кидать поддержку для аффтара
Шикарный материал! За считанные минуты объяснил больше чем мычат часами оч. поверхностно.
Алекс, ты просто МОЛОДЕЦ. Продолжай развиваться и помогать другим.
Спасибо за эту огромнейшую работу, ты не представляешь скольким помог!
Что бы не писать connect можно в дизайнере добавлять обработчики сигналов.
37:40 вместо цикла есть метод join
Невероятно емкое и полезное видео! Большущее спасибо, Алекс!
Офигел задолго до середины видео... Только начал изучать язык программирования но интерес только растёт. Одно беспокоит - пока очень непонятно, как можно разобраться во всей мешанине букв/цифр/функций )) Тут простейшие арифметические действия вывел на экран и радости ппц, а видео глянул и прифигел.. сколько всего ещё нужно изучать.
Материалов то куча, но у тебя просто, доходчиво, ничего лишнего и голос приятный
И в большинстве уроков сразу пишут код без объяснений того, где его найти.
не, классно, что ты не писал на ооп, потому что это правда достаточно сложная тема, но все же, считаю, что нужно выложить два архива с ооп и без, на всякий случай)
Лайк, однозначно)
Хорошее видео. Учу своих студентов работать с Ардуино по USB, но на C#. Делаем похожие программки для управления/визуализации. Всё очень легко и просто. В принципе, можно писать на любых языках... Надо как нибудь и программы на Питон им показать...
Алекс будь добр сделай пожалуйста видос как все тоже самое делать под есп с парсингом юдп-пакетов по вифи.
*Спасибо. По таким видео можно учиться*
Нет. Учиться нет. Можно лишь очень поверхностно и бегло посмотреть и ознакомиться.
Классно. Когда нужно научится чему то новому - это супер пособие для таких как я. Пока использую Blynk для работы с арудуино на телефоне. Порог вхождения еще ниже, чем в этом уроке.
txs = f"5,{u1.textF.displayText}"
форматирование текста по моему мнениш удобнее, а так Ваш канал просто супер!
Только думаю не кто не делает гайды нормально. А тут вот оно! ты ты ты супер.
При передаче данных о СОМ портах, удобно поставить условие, что "если их больше одного", то сразу переключать с СОМ1 на следующий, я у себя так реализовал, так как обычно подлючено одно устройство, и точно не на СОМ1
не у всех только один девайс висит на СОМ
И снова я ложусь в два ночи. Спасибо Гайвер, очень интересно и информативно!
Блин, Алекс, я тебя люблю) Ты прям второе дыхание у меня открыл)
Агонь! Теперь нужен урок по созданию приложения Андроид - Ардуино через блютуз!
*Вспоминаем что делали в прошлом уроке* 05:07
Можете подсказать где этот прошлый урок метеостанции, так же не смог его найти на АlexGyver канале?
Странно, что вы не использовали QtCreator для написания кода на пайтоне. Там тот же QtDesigner уже встроенный, не нужно было бы танцы с бубном устраивать
8:55 - там ешё View элементы есть, помимо виджетов. Для них намного удобнее и читабельнее писать логику при помощи моделей (QTableModel для той же QTableView и т.п.)
Qt Designer обычно поставляется как часть Qt Creator. Это официальный редактор Qt, который позволяет вам делать гораздо больше, чем просто графически разрабатывать пользовательские интерфейсы. Это полноценная и очень мощная среда разработки C ++ IDE. Однако за эту функциональность приходится платить: загрузка Qt Creator занимает гигабайты!
Как всегда выше всяких похвал! Народ не стесняется поддерживаем!!! В последнее время нас так часто радуют!
Просмотрел на одном дыхании. Спасибо!
Рад что вышел подобный ролик, так как сам только начал осваивать программирование(и начал с питона) :)
нее, ничего кроме Python, потому как мультиплатформа.
Ну и захотелось после просто Pytho скриптов поковырять Qt, сподвиг так сказать. За что огромадное СПАСИБО!!! Рахмат, ука!
В общем то здесь на самом деле даже больше возможностей, чем на Processing
В чем может быть, Pyсharm ругается на uic и QSerialPortInfo?? (ModuleNotFoundError: No module named 'PyQt5') Модуль PyQt5 установлен в Pycharm. Arduino подключен.
45:00 Можно на text_change повесить отправку текста и тогда текст по мере набора отправляться будет - и кнопку отправки не надо.
С огромным уважением к автору. Мелочи, но ... Списки listX и listY можно не объявлять глобальными. Это лишнее. Создать их лучше вот так: listX = [x for x in range(100)], listY = [0] * 100. Чтобы не было ошибки по listY в def onRead() строку listY = listY[1:] я бы заменил на listY.pop(0). Зачем каждый раз новый список создавать? А вот переменные posX и posY, чтобы не объявлять глобальными (в Python это не очень приветствуется), можно перевести в списки, т.е. posX = [200] и posY = [100]. А обращаться к ним по ключу 0, т.е. posX[0] или posY[0]. Спасибо за видео!
В кнопку джойстика можно сразу передавать булеан в виде условия ui.circle.setChecked(data[1] == '0')
case switch является архаизмом, но появится в 3.10 питоне(уже совсем скоро), хотя в питоне он будет нацелен на более сложные сравнения чем в С
Также в питоне есть типы, можно было функцию объявить как def test(a: list[int]): чтобы не делать комментарий
Нормальный урок. Все четко и по смыслу. А то что делаешь не так или называешь не так - ну и что? Главное урок в тему, и результат есть. Молодец, и по другому не скажешь. а пальцы гнуть и говорить вот ты тут- не так... да наплюй, у тебя работает, а у них, зато, всё так… Лайк по-любому, но подписываться не буду, ибо уже подписан ))))
Какое счастливое совпадение.
Как раз на неделе дошли руки до графиков в PyQt5. И их настройка была сложной... До сегодняшнего дня конечно)
Ждал этого ролика, сам пишу подобные приложения, узнал нового.
Python one love!
Thanks for AlexGyver!!!!
О, вы из англии
@@ananasfioletovО, вы,
из России
Для начала - спасибо большое!!! Ну а теперь нужно все это как то освоить😃
Можно использовать Qt Quick, он гораздо удобнее чем голый Qt Designer.
Использует свой синтаксис QML, можно кодить на питоне прямо в интерфейсе Qt Quick. На просторах ютюба есть видеоуроки на английском.
За интеграцию с python спасибо!
Я долго не мог понять, почему из COM-порта ничего не приходит. Код идентичен.
Помогло сразу после инициализации объекта сначала закрыть порт, а потом уже открывать.
serial = QSerialPort()
serial.setBaudRate(115200)
serial.close()
Алекс, это потрясающе) Спасибо большое)
Питон мне лично очень нравится. Видео воспринимается очень легко, спасибо!
Огромное Вам спасибо за помощь и труд!!!
Подскажите, пожалуйста, можно ли при закрытии управляющего окна крестиком выключить все выходы Arduino? Передать эдакий "прощальный" пакет данных. Попытка сделать это самостоятельно по сигналу "destroyed" у меня приводит к ошибке и устройство не выключается, а продолжает работу.
Если было бы возможность поставил бы тысячи лайков. Спасибо вам за Ваши видео уроки .
rx = serial.readLine() далеко не всегда сработает, как у автора ролика. В видео пакет данных прилетает и красиво помещается в строку. Но на разных компах пакет может подробиться на несколько строк и нужно будет склеивать.
И еще import PyQT from uic много у кого не работает, это известная массовая проблема.
сериал hui))
оторал
Пасхалочка)
тоже проорался )))
где!?!?!? хочу проораться
Мой первый язык это был питон и я программировал в "spyder" потом учил с# + windows forms сейчас изучаю Ардуино на с++
По моему мнению с# + windows forms проще всего делать визуальную часть приложения
О да! С# в этом плане питону прописывает наимощнейший пендаль
Отлично! Жду видео на следующую тему - "Управляем ESP 8266 с компьютера. Python + MQTT , GSM SMS, Telnet, Telegram и ICQ".
Видео динамит! Спасибо за ваш труд!
Автор видео красава. Я на питоне более 3 года, но всё, что ты имел ввиду, я это понял. Смысл хорошо доносишь а как они это будут реализовать - Не наше дело так сказать. Спасибо большое)
Я думаю у Гайвера есть машина времени на Arduino. Иначе я не понимаю как можно с такой скоростью штамповать такой интересный и качественный контент. Не говоря уже о тоннах поделок на основе которых эти видео делаются.
Я построил сервер и общения с ардуино + GSM модемом через com порт на Visual Basic 6. Старенький легкий и быстрый язык. Пайтон очень медленный. Очень (в сравнении). Наверное самый даже.
*Спасибо за гайд по питону! Раньше я себе представлял, что это гораздо сложнее, чем есть на самом деле!*
ну всё, ждем возбужденных питонистов в чат... :-)
По твоей же просьбе)
21:09
используй генераторы списков
portList = [port.portName() for port in ports]
36:17
Лучше всего склеивать с помощью строкового метода join
txs = ','.join(map(str, data)) + ';'
48:00
Вместо switch в python активно используют словари для этого, но по факту в твоём случае в этом смысла мало и обычного if ... elif ... elif ... else будет достаточно)
54:10 используй ctrl+alt+L в питоне так не пишут PEP 8
57:03 используй // - целочисленное деление / - это обычное деление и приводит к float и да в питоне преобразование строки к int возможно только в случае когда строка состоит только из цифр
P.s. т.к. ты сам сказал что ООП намерено не используешь не буду заострять на этот внимание, но да гораздо лучше переписать это все в ООП стиле;)
А в остальном всё очень даже ничего и принимая во внимание то что ты не знаком с этим ЯПом то можно только похвалить)
Спасибо за урок по PyQt👍 Прокачивай своего питона🐍
Спасибо за урок. Все очень понравилось, респект!
Отлично, как раз делал пол года назад очень похожую программу для ардуино, но на Visual Basic. Будет что сравнить.
Отлично! Наконец-то я понимаю код 🤣👍
Я использую для программирования Sublime Text 3. Очень удобный редактор кода. А про ролик очень класно и информативно, Спасибо! PyQt5 очень похож на Паскалевские формы.
да вроде питон и есть бывший паскаль
@@goldirus нет.
а как вот это вот все на простой дисплей?
как всегда лучший. ждем с нетерпением объяснение основ ООП Твоим понятным языком.
Необъективно мало просмотров на таком полезном видео
узкая тематика. Но просмотров больше чем у коллег =)
Взял себя в руки. Покодил на питоне. В принципе хорошо. Если тут будут ещё видео про питон, хорошо, может освою получше. Си++ Все-таки сложнее.
Много в нете обучения программированию, но Алекса подача подходящая. Только после его видов есть запал и более менее началось получатся.
1:01 а что так можно было, тогда можно видео как управлять ардуино через c#, в visual studio очень хороший интерфейс
Разве?
Как минимум как я наслышан "плохой" класс для сериал порта. Он в отличии от Qt блокирующий. По крайней мере раньше с ним были проблемы.
Temnaya Faza делал. но ООПанутый с# ардуинщику не зайдет. слишком высокий порог вхождения
@@vasiasmit7163 не знаю как вы, но я только что сделал проект на c# и у меня это заняло КАК МИНИМУМ 3 строки (подключение порта, отправка данных, получение данных), только с получением у меня беда, когда код пытается получить данные то он зависает.
В python есть модуль threading чтобы запустить while loop в отдельном процессе! Тоже есть библиотека kivy и kivymd для gui и компиляции под Android! Сам делал управление ленты через телефон и Python serial service на компьютере, круто работает, можешь загуглить! Крутой урок!! 😊
Работа с документацией pyqt - бесценно!
48:05 Стоит добавить, что этот функционал добавлен в версии 3.10.1 под синтаксисом match / case
Gyver красава! показал ребенку , он в восторге
35:56 тут можно вставить Sequence из typing: Sequence[int]
I worked with this video using English captions, and it was still helpfull. Many thanks!
Python+Arduino = адская смесь жду новых уроков
Получится пирдуино.
@@starets_fugas Ардон)