15:13 ошибка, вместо логического "И" там бинарный, странно, что не вылезло при тестировании.
@ArduNotes3 жыл бұрын
спасибо! Исправлю в примерах
@bumbarabun3 жыл бұрын
@@ArduNotes я в последнее время предпочитаю альтернативную форму записи - and гораздо тяжелее перепутать с bitand, чем & vs &&. Или можно для бинарного использовать старую форму, а для логического новую.
@MiaminZD3 жыл бұрын
@@ArduNotes Zinkin Mitya Интересно в условии стоит millis .т.е. таймают по условию должен быть миллисекундах, а вывод Serial.print показывает в микросекунда. Как? Как я понимаю минимальная задержка будет 10 миллисекунд.
@wt87123 жыл бұрын
@@MiaminZD Вывод показывает сколько микросекунд исполнялся код на 39-40 строке, а вызываться он будет не чаще, чем раз в 10 миллисекунд
@dmitrykolesov1651 Жыл бұрын
Спасибо огромное! Без этого не работало. Этот комментарий должен быть вверху.
@notsaucemanofficial3 жыл бұрын
Второе название канала - "ценнейшая находка для ардуинщика".
@ilya7zz3 жыл бұрын
О, как раз актуально! :)
@IgorStepochkin3 жыл бұрын
Ты мои мысли прям читаешь) Перелопатил по этой теме уже все что можно
Я вот в этом ничего не понимаю, но очень внимательно посмотрел. Думаю нужно несколько раз пересмотреть
@МорозИлья-ж3г3 жыл бұрын
Алекс, сделай разбор кода какого-нибудь своего проекта. Видео с светомузыкой на гиперкубе было топовым, очень классно и понятно ты все объяснил. Я потом, используя тот алгоритм, переписал старую твою светомузыку и выглядит это прекрасно. Я это к тому, чтоб ты рассказал про какой-то код на каком-то более конкретном примере
@encoder101013 жыл бұрын
Класс, игрался со связью по serial между 8266 и ардуино пару лет назад. Спаял делитель так как платы на разное напряжение и... Забросил) самое время достать снова всю эту шляпу и поиграться снова. Спасибо за все тонкости и за асинхронность. Жму волосатую руку.
@ruslan.zhumabai3 жыл бұрын
Решено много вопросов в голове. Однозначно лайк за таких видос.
@gdmsave3 жыл бұрын
Спасибо! Именно то, чего не хватало))
@--r33813 жыл бұрын
Ооо, то что надо, спасибо большое! У меня контроллер моноколеса периодически шлет массив с циферками, с ними мне как раз нужно будет работать в ардуине.
@G-P_H-T3 жыл бұрын
Приветствую Александр. Ой как просится парсинг на гайвер-контрол тепличный, аж в немоготу ))) Спасибо за добротные уроки ардуинщика!
@anatolytitov41693 жыл бұрын
Лучший канал по абдуринке!
@derungebundener20193 жыл бұрын
Абдуринка - это выступления ВВП по ТВ :)
@krutoyinfo3 жыл бұрын
Англоязычный ютюб смотри, там это давно уже все есть. И проекты покруче
@MAD_ALEX3 жыл бұрын
@@krutoyinfo ссылку на аналогичный урок пожалуйста
@anatolytitov41693 жыл бұрын
@@krutoyinfo Дайте ссылку плз.
@boriskash19853 жыл бұрын
Очень интересно!Хоть и не понятно много чего
@multitube_original3 жыл бұрын
Вооооооооот я уже начинаю разбираться в кодах! А это сулит новые свершения. БлагоДарю тебе Гувер за твои старания, ты и сам от этого получаешь неистовое удовольствие!)
@Evgeniy_topp3 жыл бұрын
Давно хотел научиться передавать команды на ардуино или esp по блютуз и вай фай. Спасибо. Жду следущий урок
@igorpr.81883 жыл бұрын
Спасибо большое за ценный урок! Очень важная информация!
@illya-litkin3 жыл бұрын
очень бы хотелось увидеть уроки про переход от ардуин к голым мк. минимальную обвязку чипа, подключение к компу и т.д.
@ArduNotes3 жыл бұрын
огромный гайд выйдет через пару недель
@bbnmn48003 жыл бұрын
@@ArduNotes когда
@AwesomeAlexey3 жыл бұрын
Алекс, за уроки респект, многим будет полезно) Хочу предложить ещё один вариант, более простой с точки зрения наглядности и простоты реализации, при этом такой же по вычислительной сложности Я у себя на стмках использую структуры, которые побайтово передаю. Можно даже битовые поля юзать для состояний светодиодов и прочих булевых штук При этом можно как делать одну структуру для разных команд - первое поле означает саму команду, второе поле означает значение команды, можно так же несколько полей делать спокойно (ну или хотя бы писать, сколько их, в первом байте) И для команд, имхо, гораздо удобнее запихать всё в enum, тогда читаемость кода возрастает, проще писать и отлаживать, а для проца enum это тот же инт, просто "с названиями" Либо второй вариант со структурами - передавать структуру состояния, в которой задавать все параметры сразу, просто подряд Единственная проблема, которая может возникнуть, это разных способ хранения структур (маловероятно), битовых полей (очень вероятно), если такие используются. У разных платформ (ПК - Ардуина) может быть разный порядок следования битов в битовых полях, тогда будет проблема Но для связи ардуинка-ардуинка, есп-есп или стм-стм, вариант прямо супер рабочий и ультра удобный, советую присмотреться)) Пы.Сы.: да, коммент на двух видосах, потому что здесь он ещё актуальнее))
@ArduNotes3 жыл бұрын
передача байтовым потоком - тема для отдельного урока
@ВасилийШумилов-о8ь3 жыл бұрын
Я в свое время написал для VBA приложений JSON парсер для хранения данных и обмена между приложениями в текстовом формате, получилось достаточно просто и эффективно, но для для ресурсов микроконтроллера лучшее решение применение команд: ключ, значеие.
@hutoryanin3 жыл бұрын
Благодарю, доступно, подробно, а главное интересно. *Л. а. й. к.*
@e-benz3 жыл бұрын
Алекс, спасибо за урок, буду благодарен если разберешь общение ардуино с сервером
@pavelv882 Жыл бұрын
Спасибо, очень интересный урок получился. Может быть добавить еще пример, как две ардуинки могут управлять друг-другом, чтобы обмен информацией шел между ними в разном направлении, можно наверное интересный проект сделать.
@tkaisar3 жыл бұрын
Спасибо! То, что надо!
@alkatrazbd23143 жыл бұрын
Высший класс! только начал изучать с++
@lorensstudio32333 жыл бұрын
Блин, быстрее бы следующее видео, у меня как раз сейчас стоит вопрос передачи данных в приложение на компьютере.
@Ivan_sev3 жыл бұрын
Мне тоже нужно
@slv85073 жыл бұрын
Присоединяюсь! Например такая задача: массив данных (фрейм буфер) отправлять на процессинг и там отрисовывать, чтоб в маленький экран не вглядываться. Тут нужно будет как то синхронизироваться. Вроде бы получилось, но что делать если буфер содержит те же данные что для синхронизации используются?
@krutoyinfo3 жыл бұрын
У тебя ж com порт есть. Открывай его с компа и читай
@lakosh8893 жыл бұрын
Я 4 года ждал это видео
@igelbox.3 жыл бұрын
Ой, на 8:50 - потенциальная запись за пределы массива. (если придёт пакет в 30 байт, то мы запишем NULL в 31й элемент массива)
@SIM31r3 жыл бұрын
Лайк за Терминатора )
@j_ArtVG3 жыл бұрын
Спасибо, Алекс!
@OnTheWayToTheDirection3 жыл бұрын
Просьба пояснить момент 15:09 в видео. Получается, что теперь мы парсим, только если в буфере что - либо изменилось? А до этого парсили только если serial.avaliable?
@alxlavr3 жыл бұрын
Расскажи как паркинг можно сделать на прерываниях на примере разбора данных от GPS. Это было бы здорово.
@ravil60183 жыл бұрын
Изумительно! Спасибо большое! :)
@mrAlexandrSmith3 жыл бұрын
очень полезный видос! Спасибо!
@МаксимСимаков-ъ4м3 жыл бұрын
Круто и простопонятно, ещё ещё требуют наши мозги
@user-Master1969 Жыл бұрын
Урок ценный но уже тяжел для понимания начинающим.
@tiMer233 жыл бұрын
Как то, года 3 назад. Просил такой видос, дождался)))
@encoder101013 жыл бұрын
Такая же херня
@ser.jovtok3 жыл бұрын
Сколько небольших производств заработало благодаря Гайверу, самому в этом всём разобраться очень сложно)
@QazaksTanos3 жыл бұрын
аааа круто, скорей бы новый урок
@tov.engineer413 жыл бұрын
Пасибо за уроки, чуваки
@НикитаУшаков-г7п11 ай бұрын
Спасибо, Alex🤝
@elenapoplos95373 жыл бұрын
Спасибо за видео и советы Поучительный материал
@ЕвгенийДвинянин-ч3й3 жыл бұрын
кренеть, вот теперь начнётся жара...
@Цербер-ч2э3 жыл бұрын
Ой спасибо, братик, какраз к дипломной работе подоспел!!!!
@ВаняВано-ч8у3 жыл бұрын
а уроки с esp и сетью будут?)
@ArduNotes3 жыл бұрын
да
@MrDent-tp4ke3 жыл бұрын
esp 8266 - интересный модуль, в теории у него много возможностей но самая известная и пожалуй классическая- естественно деуатентификатор. Поэтому хотелось бы узнать что то ещё чтобы разнообразить работу с данным модулем
@levstarostin96993 жыл бұрын
А ESP 32 будут?
@Evgeny_Miroshnichenko Жыл бұрын
@@MrDent-tp4ke деуатентификатор? Это что же такое "естественное", "классическое" и "самое известное", что о нём даже Гугл не слыхивал? Поясните это на понятном языке, пожалуйста.
@Specter6906553 жыл бұрын
Вот бы ещё по uart мульти-точке урок. Чтобы решение коллизий попинать
@apt-toni2 жыл бұрын
Добрый день, подскажите будет обзор на параллельную работу ардуино, (по двум проводам соединяются от 2 и более), аналогия с ARINC 629.
@rekusrenatas73493 жыл бұрын
kruto raskazal, vsio ponetna
@vladimirl6754 ай бұрын
Крутяк!
@MihaiTeSla3 жыл бұрын
Ничего не понял, но очень познавательно.
@ag45403 жыл бұрын
Чтобы упростить процесс приема пакета - все эти таймауты - можно же использовать структуру TLV ru.m.wikipedia.org/wiki/Tag-length-value Часть пакета tag/type и length имеет фиксированную длину, а длина пэйлоада будет известна из поля length, в итоге мы точно знаем когда надо начинать парсить, а таймаут оставить для определения битости пакетов
@pisyakamushkin7043 жыл бұрын
Когда то давно изучал c, сейчас пишу только на python, и вдруг натыкаюсь на этот видос, аж мурашки по коже побежали как вспомнил обязательное присвоение типа переменной и указатели, ууфф.
@tim4ig3 жыл бұрын
Зато скорость роботы кода выше в разы
@ArduNotes3 жыл бұрын
когда нибудь программисты совсем деградируют)
@ArduNotes3 жыл бұрын
в десятки и сотни
@ferafon3 жыл бұрын
Супер тема !!!
@Dima-dj8lh3 жыл бұрын
Для пользователя вариант "название пробел аргумент пробел аргумент..." куда приятнее (просто разделители иные). Можно функции мутить int argc, char* argv[] и ещё char answer[] для записи в эту строку ответа. Удобно. Предпочитаю именно этот метод, т.к. лень ещё прогу делать с крутилками и жмакалками Но вот между устройствами только структуры, только хардкор.
@ArduNotes3 жыл бұрын
между устройствами да, структуры) в другом уроке будем разбирать
@Dima-dj8lh3 жыл бұрын
@@ArduNotes , в догонку к методу: Можно несколько вариантов для ключа использовать case 'r': Print("big r") case 'R': Код на r Break
@maxfrec84873 жыл бұрын
Еще хотелось бы видео по сетевым каким то протоколам тот же изернет+интернет и работе с радиопередачей данных вифи/лора/блютуз и другие - т.е. что то в этом направлении.
@krutoyinfo3 жыл бұрын
Это требует много времени и стоит денег
@kalobyte3 жыл бұрын
инторнетный протокол слишком сложный для 8 битного контроллера и жрет много ресурсов есть готовые библиотеки для этого и там тот же принцип как и тут, парсить все равно придется а как передавать данные - зависит от конкретной библиотеки
@zloslov2 жыл бұрын
Вот конечно еще бы вы медленнее все рассказывали. Но всё равно вы очень крутой спасибо вам огромное.
@0bit0303 жыл бұрын
Мощщщно! =)
@Next__Play3 жыл бұрын
Хорошее видео. Лайк.
@doshik91173 жыл бұрын
Здравствуйте Алексей можно пожалуйста отдельный урок по esp8266, заранее спасибо)))
@UK8CFT3 жыл бұрын
Его зовут Александр))
@megaavolt2 жыл бұрын
case 2 после обрыва передачи продолжает выдавать шим по последним данным,как обнулить если данные не приходят?
@willgoonandon30503 жыл бұрын
А есть подробный урок про организацию ethernet связи?
@ArduNotes3 жыл бұрын
нету
@Slavasil3 жыл бұрын
жесть
@willgoonandon30503 жыл бұрын
@@ArduNotes а будет?
@mknapweed3 жыл бұрын
В 0:12 после рабочего дня это было так жоска, будто я снова на первой субботней паре по квантам))) Но все равно спасибо, тема важная.
@user-im6py6or6v3 жыл бұрын
Спасибо большое за уроки. А нет таких же библиотек для udp? Или может будет урок именно по upd esp32. Нашел пару уроков, но там передают одно состояние кнопки и все. Так какой же это парсинг.
@ihypnocat Жыл бұрын
А нельзя ли json читать и отправлять ардуиной?🤔
@ruslansanzharov5825 Жыл бұрын
8:47 тут проблема - если массив заполнится полностью на 30 символов, то мы зайдем за его границы. в readBytesUntil надо оставить 30, а в переменной надо сделать char data[30 + 1];
@ДИМАХАМРАЕВ-ю8к2 жыл бұрын
Подскажите как применить харт протокол к ардуино
@marengobelboa5905 Жыл бұрын
Здравствуйте. Если мне нужно отправить на телефон показатели датчиков, например температуру воздуха, через Bluetooth, какой конструктор лучше использовать для создания приложения в телефоне?
@Wu33up3 жыл бұрын
Теоретически можем использовать, что б метеостанция скидивала график смени всех датчиков?
@led-avto2 жыл бұрын
Очень полезный урок. Подскажите что лучше использовать чтобы парсить ответы от SIM800. Уперся в то, что.... чем больше добавляют условий и обработку запросов, то строка (at) приходящая от SIM800 уменьшается... while (SIM800.available() > 0) { at += char(SIM800.read()); } if (at.indexOf("ATD" + phon + ";") > -1) { ******* } else if (at.indexOf("+CLIP:") > -1 { ******* }
@liftoman_7773 жыл бұрын
Шикарный канал, почему рекламмы нет
@ArduNotes3 жыл бұрын
у нас только JLCPCB на рекламе, остальное не подходит по тематике =)
@сергейбаглаев-ф3х3 жыл бұрын
добрый вечер! Парсим N чисел выводит вместо терминатора 0 например 1,2; выводит 1 2 0 если нет знака ; терминатора то 1 2 Как убрать 0 ?
@yuripanov96703 жыл бұрын
Класс!
@alexandr_843 жыл бұрын
Подскажите, пожалуйста, parseint обрабатывает числа со знаком "минус"?
@ifynk3 жыл бұрын
Актуально, спасибо.
@Мойевропейскийжидобандеровский Жыл бұрын
А готовые протоколы типа протобуф или жсон есть?
@wowus19873 жыл бұрын
Годнота!
@ilyavenner3 жыл бұрын
Неопределённое поведение в уроке. Найс! (Сарказм.)
@nichey57172 жыл бұрын
Вроде писал всё по гайду, но когда хотел отключить светодиод он посылает меня куда подальше и не хочет отключать его в чём может быть проблема? Может в моей рукожопости?
@armagedon83289 ай бұрын
SPI это тоже протокол передачи данных?
@Sergey.Volkov3 жыл бұрын
Как удостовериться что пакет принят полностью, и закончен по символу терминатора, а не таймауту? у меня когда пакеты идут часто они иногда смешиваются и всё плохо становится
@user-enejayzer3 жыл бұрын
В скечтче parseSerial.ino при компиляции ошибка в строке: int data[10]; // буфер интов Ругается : conflicting declaration 'int data [10]' Ну и не раскоментирован код.
@ArduNotes3 жыл бұрын
там составной пример из всего что было в видео, закомментирован кусками. Кто видео смотрел, должен разобраться
@эсдесИор3 жыл бұрын
а когда управления аруино и светодиодами по otg на смартвоне
@unclestepa3 жыл бұрын
Респект
@idodoska3 жыл бұрын
Привет. Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта. Как собрать плату для данного задач. Спасибо заранее
@tohalav87403 жыл бұрын
В библиотеке Gyveroled в файле ExtFont для esp8266 надо include заменить на просто иначе не компилируется
@ArduNotes3 жыл бұрын
странно, у людей компилилось. Мб у тебя яверсия ядра старая?
@AndrewPstvt3 жыл бұрын
Да, у всех esp свои файлы работы с памятью и т.д. Это нужно учитывать и подключать нужные библиотеки с помощью макросов.
@dmitriibannikovasx Жыл бұрын
Интересно, почему про sscanf никто не говорит? Очень удобная стандартная функция.
@DGT673 жыл бұрын
почему на 5:58 чтение Serial.Read() выполняется не ранее чем Serial.available() > 1, а не Serial.available() > 0 ??? зачем обязательно дожидаться второго байта?
@ArduNotes3 жыл бұрын
чтобы в буфере был и ключ, и хотя бы одна цифра числа, объясняется за 5 секунд до этого
@DGT673 жыл бұрын
@@ArduNotes так именно это и вызывало вопрос) почему необходима хотя бы одна цифра ? извиняюсь за твердолобость
@DGT673 жыл бұрын
@@ArduNotes ага, в противном случае парсить нечего)
@derungebundener20193 жыл бұрын
@@ArduNotes Отсюда другой вопрос - как определить, что ключ закончился? Вдруг отправлено, к примеру "100", а мы спарсим только первый символ - "1".
@krutoyinfo3 жыл бұрын
@@derungebundener2019 сделай ключ две цифры всегда, например xxyyyy
@МихаилИргер-ц8с6 ай бұрын
Респект!
@lossofsoul3693 Жыл бұрын
расскажи о средствах обеспечения помехозащищенности) алгоритмы что делать если пакет не пришел до конца, пакет пришел битый (с искажениями) и т.д. о CRC, протоколах подтверждения от устройства об успешном получении пакета и т.д.
@DmitriyParubov Жыл бұрын
У меня такая проблема возникла. Ардуино мега, на ней CD модуль, GPS, Oied дисплей, Барометр DPS310, Кнопка сброса высоты, nRF24L01 Модуль с CD модулем отказался работать по SPI , Пришлось через сериал1 меги принять сериал с ардуино нано на которой установил nRF24L01( он принимает коррекцию высоты с базы, что то типо псевдо ртк ) Этот сигнал при включении сразу принимается, А ПОСЛЕ ВЫКЛЮЧЕНИЯ БАЗЫ ЧЕРЕЗ ЭННОЕ ВРЕМЯ, СИГНАЛ ВСЁ ЕЩЁ МЕЛЬТИШИТ В ПОРТУ МЕГИ СЕКУНД 20, а так же записывается на карту, В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА ???
@androidpasha3 жыл бұрын
Json мне нравится)
@appbox87543 жыл бұрын
а ёлочка?
@Slavasil3 жыл бұрын
нет блин xml
@titan10003 жыл бұрын
здравствуйте а можно тоже самое сделать только для обмена информацией использовать без беспроводную связи или нет ?
@ArduNotes3 жыл бұрын
можно
@Gameplayer550553 жыл бұрын
Как грамотно организовать этот парсер в большом проекте, где много датчиков и мейнлупов? Хочу урок про альтернативу pthread в ардуинках
@ArduNotes3 жыл бұрын
потоки на микроконтроллерах - как костыль в одном месте. Мейнлуп должен быть один, всё остальное - по таймеру на миллис, как в самых базовых уроках. Что то требовательное ко времени - в прерываниях таймера. Про потоки забыть
@urashus79653 жыл бұрын
опробовал вариант Вариант 3 (однобуквенный, без задержки) прекрасно но только с положительными числами при подачи минусового числа выход 0 можно это както исправить уже мозги кипят
@antinazi10223 жыл бұрын
Может кто знает сообщество мастеров по ЕСП 8266, где могут выполнить несложный заказ, без кидалова?
@idodoska3 жыл бұрын
Привет. Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта. Как собрать плату для данного задач. Сделайте пожалуйста видеоролик по этой направления. Спасибо заранее
@napalm183 жыл бұрын
в описании видео скетчи из урока пусто, ссылки нет
@dmitry_poliakov_ph3 жыл бұрын
спасибо за урок. может кто подскажет как передать по радио в библиотеке rcSwitch несколько данных в одной посылке, а потом это дело распарсить на принимающей стороне? проблемка в том что команда send просит int
@ArduNotes3 жыл бұрын
попробуй Gyver433, она всеядная
@ranger-7772 жыл бұрын
а как можно распарсить long? например 3,30,330,1000000; а то при парсинге в int лажа полная
@ranger-7772 жыл бұрын
с вашего позволения дописал библиотек и добавил функции распарсивания в лонги и флоаты)))))))))😊