💬 Как передавать и принимать данные из Arduino в компьютер и обратно? Очень просто!

Sdílet
Vložit
  • čas přidán 28. 05. 2017
  • Говорю о том, как пользоваться последовательным монитором порта - получать, отправлять различные данные, в общем, общаться со своим устройством и управлять им.
    ВК: lrazum
    Instagram: / viktor_osin_
    Ссылки для заказа необходимых компонентов: labrazum.ru/komponentyi/
    ======================================================
    Остальные выпуски курса "Arduino для начинающих": • ОБРАЗОВАТЕЛЬНОЕ: Уроки...
    ======================================================
    Помочь нашему проекту можно по этим реквизитам:
    Яндекс.Деньги - 410011223685103
    Webmoney - R516670493738
    Сбербанк - 4276450014692863
    Paypal - viva-os@mail.ru
  • Věda a technologie

Komentáře • 79

  • @sergeymarkisev2145
    @sergeymarkisev2145 Před 4 lety +16

    Хочу сообщить некоторые факты, о которых обычно не упоминают в руководствах по Ардуино:
    1. При скорости 9600 один байт передается округленно за 1 мС.
    2. Команда отправки байта, например write выполняется намного быстрее, чем uart отправляет байт - потому что она просто помещает байт в буфер последовательного порта. Поэтому если вам нужно, к примеру, переключить передатчик на прием после отправки байта - пользуйтесь командой flush. Команда чтения тоже выполняется быстрее, чем происходит приём байта - потому-что просто берет байт из буфера. О приходе очередного байта нам сообщает функция available.
    3. Текстовая строка, которую отправляет ардуино по команде println автоматически дополняется двумя "непечатными"символами - «перевод строки» и «конец строки». Не забывайте об этом, если вам важно, сколько байт вы отправляете.
    4. Размер буферов приема и передачи - 64байта. Если вы медленно считываете байты или слишком быстро отправляете - может происходить утеря информации.
    5. Ардуино копирует байты из uart в буфер при приеме и из буфера в uart при передаче с использованием механизма прерываний. Если вы используете функцию nointerrupt это может нарушить работу функций serial.
    6. Приоритет прерываний отправки байта выше прерываний приема байта - поэтому одновременный прием и отправка байт может вызвать задержку приема байт.
    7. Приоритет внешних прерываний (int0, int1) выше, чем прерываний uart. Поэтому длительная обработка внешних прерываний вызовет сбои в работе serial .
    Если кто-нибудь знает что-то интересное, о чем я не написал - поделитесь пожалуйста этим в комментариях.

    • @user-oo6vb7fl5u
      @user-oo6vb7fl5u Před rokem

      Это ценная информация, спасибо!

    • @MrDacnick
      @MrDacnick Před rokem

      Все хорошо, но маленькое уточнение- пятый пункт должен выглядеть так
      5. Ардуино копирует байты из uart в буфер uart при приеме, и из буфера uart в uart при передаче, с использованием механизма прерываний. Если вы используете функцию nointerrupt это может нарушить работу функций serial.
      А то ломай голову "чайнику"- из какого буфера...

  • @user-ut5yb4fq8i
    @user-ut5yb4fq8i Před 7 lety +12

    Спасибо! Очень познавательно. :-) Так держать. :-)

  • @Tai-Pan
    @Tai-Pan Před 6 lety

    Познавательно и доходчиво. Спасибо.

  • @user-ec1kr1lj3c
    @user-ec1kr1lj3c Před 6 lety

    При проверки скетча выходит ошибка :
    exit status 1
    case label '11' not within a switch statement
    Подскажите пожалуйста в чем проблемам??

  • @user-zk8it7yv5u
    @user-zk8it7yv5u Před 7 měsíci

    Здравствуйте, подскажите, как в консоль порта передать НА ардуинку число (не символ). например число 5. Символьного обозначения этому числу нет. Как такое число напечатать в консоле?

  • @alexkot1045
    @alexkot1045 Před 4 lety

    ПОМОГИТЕ! В разделе инструменты, порт просто не могу выбрать он затемненный.

  • @nik23081982
    @nik23081982 Před 3 lety +1

    а как сделать то же самое, но с удаленным управлением с помощью wi-fi

  • @vitalyivanov7228
    @vitalyivanov7228 Před rokem

    привет! спасибо за канал. очень просто и интересно рассказывал . просмотрю с удовольствие и другие..

  • @dmitriibannikovasx
    @dmitriibannikovasx Před 6 lety +7

    Сайт с подробностями о библиотеке сериал недоступен

  • @user-ue1bw5xw2q
    @user-ue1bw5xw2q Před 2 lety +2

    Битрейт не сленг, а термин. Для установки скорости передачи в некоторых языках программирования среди прочих установок порта нужно указывать параметр baudRate, а это и есть битрейт. В си он тоже так называется и устанавливается в команде порт.begin в скобках.

  • @Vlad-tn7ki
    @Vlad-tn7ki Před 6 lety

    Классное видео!! спасибо

  • @microfdevelopers9751
    @microfdevelopers9751 Před 7 lety

    Хорошо рассказываешь. Лайк

  • @batonagmitov1860
    @batonagmitov1860 Před 4 lety

    Очень информативно

  • @user-se6ek8mv5t
    @user-se6ek8mv5t Před 7 lety +6

    ссылка на ман serial не работает

  • @serg_tolstiy87
    @serg_tolstiy87 Před 3 lety

    Вялiкi дзякуй!!

  • @sergey_5557
    @sergey_5557 Před 4 lety

    Ссылка на описание библиотеки Serial не работает

  • @exit2849
    @exit2849 Před 6 lety +2

    Добрый день, очень нужно что бы данные NMEA поступающие на вход Arduino (RS232/RS422), онлайн отображались на LCD. Это вообще возможно?

    • @AndriiNikolaiev
      @AndriiNikolaiev Před 5 lety

      Конечно возможно. NMEA Символьный формат. Вынул координаты и отобразил.

  • @igor-rr1mg
    @igor-rr1mg Před 5 lety

    Подскажите как использовать не 32 байта а 64 у меня не хватает одного буфера не влазит передача с передатчика на приемник

  • @andreyb7844
    @andreyb7844 Před 2 lety +1

    так для чего пины TX RX на плате?

  • @vitamingarage2026
    @vitamingarage2026 Před 6 lety

    красавчег очень интересно!!!но врятли всем!!!%%%

  • @dmitryefimkin6550
    @dmitryefimkin6550 Před rokem

    К сожалению, не получается подружить softserial и serial. :(

  • @batonagmitov1860
    @batonagmitov1860 Před 4 lety +1

    Спасибо

  • @codius
    @codius Před 7 lety

    Чудный комментарий в коде "реле включается по LOW из-за оптопар"... А поподробнее, каким образом оптопары влияют на это?

    • @sergeymarkisev2145
      @sergeymarkisev2145 Před 4 lety +3

      В его конкретной реализации релейной платы аноды светодиодов оптопар подтянуты через резистор к плюсу. А включение оптопары происходит подачей «нуля» на катод светодиода оптопары. Вполне грамотное решение, учитыаая, что сразу после настройки рина платыАрдуино на вывод его состояние - высокий уровень.

  • @user-dh2zu9pe8h
    @user-dh2zu9pe8h Před 7 lety +2

    то же начал увлекаться ардуиной) какие книги посоветуешь для начинающего??????

  • @Yupitrer
    @Yupitrer Před 6 lety

    Super!

  • @valeriyzayats1786
    @valeriyzayats1786 Před 5 lety

    Как лучше всего данные например влажности через сериал записать в энергонезависимую память. Возможно ли это?

    • @Game-ix2ew
      @Game-ix2ew Před 2 lety

      Да ,можно есть специальная библиотека

  • @dimon85192
    @dimon85192 Před 7 lety +3

    Сделайте видео про параллельны подключения более 3 устройств по uart

    • @wifilan
      @wifilan Před 7 lety +2

      да, да и мне пожалуйста по этой же теме

    • @northwind4103
      @northwind4103 Před 2 lety

      почитайте про RS485. нет параллельного подключения по UART.

  • @xayotilloabduraxmonov410

    спасиба большое

  • @DmitriyParubov
    @DmitriyParubov Před 9 měsíci

    У меня такая проблема возникла. Ардуино мега, на ней CD модуль, GPS, Oied дисплей, Барометр DPS310, Кнопка сброса высоты, nRF24L01 Модуль с CD модулем отказался работать по SPI , Пришлось через сериал1 меги принять сериал с ардуино нано на которой установил nRF24L01( он принимает коррекцию высоты с базы, что то типо псевдо ртк ) Этот сигнал при включении сразу принимается, А ПОСЛЕ ВЫКЛЮЧЕНИЯ ЧЕРЕЗ ЭННОЕ ВРЕМЯ, СИГНАЛ ВСЁ ЕЩЁ МЕЛЬТИШИТ В ПОРТУ МЕГИ СЕКУНД 20, а так же записывается на карту, В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА ???

  • @alesandryabov6478
    @alesandryabov6478 Před 7 lety

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

  • @aleintaseevo
    @aleintaseevo Před 5 lety +1

    Я всё понимаю, что проще сказать "функция" про принт и сериал, но Serial это класс, а print и println его методы.

    • @VitaliyZlobin
      @VitaliyZlobin Před 3 lety +1

      Можно абстрагироваться и новичкам сказать так, иначе придётся объяснять ООП, что СИЛЬНО замедлит процесс обучения и поднимет порог вхождения.

  • @segreiulanov6057
    @segreiulanov6057 Před 5 lety +1

    Самый простой вариант рассмотрен. А если куча разной инфы от датчика. Придётся парить

  • @alexandr_84
    @alexandr_84 Před rokem

    А где ссылка?

  • @zaharshoihit1183
    @zaharshoihit1183 Před 7 lety

    А как сделать тоже самое, только посылая в порт не цифры а какие нибудь предложения, например "Port1_ON" , "Port1_OFF"?

    • @TheWladberlin
      @TheWladberlin Před 4 lety

      Используй #define

    • @theolivergreen
      @theolivergreen Před 3 lety

      @@TheWladberlin ахаха )))

    • @user-nc2xw1zb3y
      @user-nc2xw1zb3y Před 2 lety

      Задать Port1 как переменную равную цифре.

    • @northwind4103
      @northwind4103 Před 2 lety

      а в чём проблема? передаёшь и получаешь как стринг.

  • @terminator14061993
    @terminator14061993 Před 7 lety

    Где програма для управление Реле ?
    Пожалуиста добавит линк для скачать.

    • @LabRazum
      @LabRazum  Před 7 lety +3

      Все было показано на скриншотах, теперь будет гораздо полезнее, если вы не скопируете, а напишите ее своими ручками ;)

    • @user-etlichc1hr7n
      @user-etlichc1hr7n Před 7 lety

      А как включить теперь реле?

  • @Lutsyyyyy
    @Lutsyyyyy Před 5 lety

    Спасибо за урок.
    Ссылка pashkevich.me/article/6.html у меня не работает.

  • @pizzalapatefourabois8380

    Ну вы ребята

  • @user-sb6rt1ij6o
    @user-sb6rt1ij6o Před 7 lety

    А зачем строка data = 0?

    • @LabRazum
      @LabRazum  Před 7 lety

      Если не указать обнуление переменной, то программа вновь и вновь будет переходить по конструкции Switch(data) в тот case, которому будет равна переменная data. Нам же нужно сделать переход в конструкцию case всего один раз - для включения, либо выключения реле, поэтому data принимает какое то значение из Serial-порта, switch переходит по этому значению, выполняет код, и значение обнуляется.

    • @electricfuture1295
      @electricfuture1295 Před 7 lety

      а что если поставить условие например если есть изменения в этой переменной то выполнить switch ? так проще ведь, и сделать проверку на то что после изменения этой переменной должна например включиться определенная реле, если же не сработало то автоматически включить и снова проверить результат выполнения, и если уже после 3 попыток не сработало выдать алерт что что-то не работает из hadware, а если сработало то ничего не делать

  • @lokpasddq763
    @lokpasddq763 Před 4 lety

    Мон не работает. Вымагает деньги.

  • @potatdev
    @potatdev Před 7 lety

    Использовать пины для своих нужд)

  • @drdocz
    @drdocz Před 4 lety

    До этого было все понятно. Не понятно какое практическое применение порта и как это применяеться.((

    • @user-qb3rq3tw8b
      @user-qb3rq3tw8b Před 4 lety

      Чтобы выводить данные на комп или передавать данные другим устройствам, например wifi модулю esp8266

    • @roofprod
      @roofprod Před 3 lety

      Или общаться с другим ардуино по uart. (входы rx tx и gnd). Есть видео как правильно подключить

  • @alesandryabov6478
    @alesandryabov6478 Před 7 lety

    На то они и уроки.

  • @user-xi2hl8xn7p
    @user-xi2hl8xn7p Před 7 lety

    За цитату из дуропедии - неуд.
    "старые добрые светодиоды" )))
    Когда нет старых добрых реле,
    используем моргалки(светодиоды).

  • @roofprod
    @roofprod Před 2 lety

    Сайт Автора похоже взломан, не переходите по нему.

    • @LabRazum
      @LabRazum  Před 2 lety

      Спасибо за предупреждение, это сторонний сайт, где была хорошая статья на тему видео. Удалю из описания..

  • @satakosar9608
    @satakosar9608 Před 5 lety

    Free Coloring Pages For Kids
    Nothing Found

  • @user-nq1qx7qt5i
    @user-nq1qx7qt5i Před 3 lety

    Млин, "музыка" убивает.
    Годный же ролик...

    • @user-nq1qx7qt5i
      @user-nq1qx7qt5i Před 3 lety

      7:30
      Тушу.
      Полезно, но ну его нафиг. Пойду поищу без долбомузыки :(

  • @ajiekceumapecbe8316
    @ajiekceumapecbe8316 Před 7 lety +1

    Почему канал мертвый?

    • @LabRazum
      @LabRazum  Před 7 lety

      Ничего подобного, 11-й выпуск вот-вот выйдет :) О причинах задержки было рассказано в сообществе Вконтакте.

    • @ajiekceumapecbe8316
      @ajiekceumapecbe8316 Před 7 lety

      ууу, понятно, тогда ждем новых видео)

    • @ajiekceumapecbe8316
      @ajiekceumapecbe8316 Před 7 lety

      Кстати а можно ли с линукса, прямо с терминала что то отправить в ардуину

    • @ajiekceumapecbe8316
      @ajiekceumapecbe8316 Před 7 lety

      ну тоесть по UART

  • @user-ui5yf6mb1m
    @user-ui5yf6mb1m Před 3 lety

    Слишком быстро и не понятно.

  • @leetworld3882
    @leetworld3882 Před 6 lety

    скатываетесь(((

  • @viecheslavp4392
    @viecheslavp4392 Před 5 lety

    Очень плохо смотрится заставка школы технического творчества..., которую показывают очень часто, прям какое-то НЛП, зачем так делать?! Достаточно было один, максимум пару раз показать, но не все же время ее крутить!! Как для полных идиотов, нужно же хоть немного уважать гостей своего канала! :(

  • @xzrist9322
    @xzrist9322 Před 3 lety +1

    ЧЕЛ ТЫ КЛОУН

  • @cultofsogga5863
    @cultofsogga5863 Před 6 lety

    Баран! TX - передача, а RX - приём!

  • @user-oc4xq8cu5g
    @user-oc4xq8cu5g Před 5 lety

    ссылка на ман serial не работает