Как очистить монитор портов в Arduino

Обновлено: 03.07.2024

После входа в систему вы будете перенаправлены обратно к этому руководству и сможете подписаться на него.

Как и следовало ожидать, эскиз основан на эскизе, использованном в уроке 4. Поэтому здесь мы рассмотрим только новые элементы. Вам будет полезно обратиться к полному скетчу в Arduino IDE.

Во-первых, в функции "настройка" есть три новые строки в конце:

Во-первых, у нас есть команда 'Serial.begin(9600)'. Это запускает последовательную связь, так что Arduino может отправлять команды через USB-соединение. Значение 9600 называется «скоростью передачи» соединения. Это то, как быстро данные должны быть отправлены. Вы можете изменить это значение на более высокое, но вам также придется изменить монитор Arduio Serial на то же значение. Мы обсудим это позже, а пока оставьте значение 9600.

Строка, начинающаяся с «пока», гарантирует, что на другом конце USB-соединения есть что-то, с чем Arduino может связаться, прежде чем он начнет отправлять сообщения. В противном случае сообщение может быть отправлено, но не отображено. Эта строка необходима только в том случае, если вы используете Arduino Leonardo, потому что Arduino Uno автоматически сбрасывает плату Arduino, когда вы открываете Serial Monitor, тогда как с Leonardo этого не происходит.

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

Функция «цикл» — это место, где происходит все действие:

Все, что происходит внутри цикла, содержится в операторе if. Поэтому, если вызов встроенной функции Arduino «Serial.available()» не является «истинным», ничего другого не произойдет.

Serial.available() вернет «true», если данные были отправлены в Arduino и готовы к обработке. Входящие сообщения хранятся в так называемом буфере, и Serial. available() возвращает true, если этот буфер не пуст.

Если сообщение получено, то оно переходит к следующей строке кода:

Это читает следующий символ из буфера и удаляет его из буфера. Он также присваивает его переменной 'ch'. Переменная «ch» имеет тип «char», что означает «символ» и, как следует из названия, содержит один символ.
Если вы следовали инструкциям в подсказке в верхней части последовательного монитора, то этот символ будет либо однозначной цифрой от 0 до 7, либо буквой «x».

Выражение 'if' в следующей строке проверяет, является ли это одной цифрой, определяя, является ли 'ch' больше или равным символу '0' и меньше или равным символу '7'. Такое сравнение символов выглядит немного странно, но вполне приемлемо.

Каждый символ представлен уникальным числом, называемым его значением ASCII. Это означает, что когда мы сравниваем символы, используя =, на самом деле сравниваются значения ASCII.

Если тест пройден, то переходим на следующую строку:

Теперь мы выполняем арифметические действия с символами! Мы вычитаем цифру «0» из любой введенной цифры. Таким образом, если вы набрали «0», то «0» — «0» будет равно 0. Если вы набрали «7», то «7» — «0» будет равно числу 7, потому что на самом деле используются значения ASCII. в вычитании.

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

В первой строке используется Serial.print, а не Serial.println. Разница между ними заключается в том, что Serial.print не начинает новую строку после печати того, что находится в его параметре. Мы используем это в первой строке, потому что мы печатаем сообщение в двух частях. Сначала общий бит: «Включен светодиод», а затем номер светодиода.

Номер светодиода хранится в переменной 'int', а не в виде текстовой строки. Serial.print может принимать либо текстовую строку, заключенную в двойные кавычки, либо целое число, либо переменную практически любого типа.

После оператора if, обрабатывающего регистр, когда обрабатывается одна цифра, следует второй оператор if, который проверяет, является ли буква ch буквой x.

Впервые это руководство было опубликовано 4 декабря 2012 года. Последнее обновление: 4 декабря 2012 года.

Несмотря на то, что существует множество способов отправки и получения информации от микроконтроллера и компьютера, использование последовательного порта намного проще. Микросхема AC mega three имеет порт uart, обозначенный контактами TX и rx на плате, который может отправлять и получать последовательные данные. 0 означает, что биты отправляются один за другим тысячу раз в секунду, в зависимости от того, какая скорость настроена, поскольку последовательный порт подключен к порту USB на плате. Таким образом, мы можем использовать встроенную последовательную функцию и данные для последовательного монитора.В Arduino IDE или внешнем последовательном мониторе, используя ту же схему, которую вы построили ранее, в конце цикла будут добавлены строки для вывода значений всех наших различных датчиков и выходов на последовательный монитор, и это займет все, что вам нужно. В этой главе вы узнали, включая глобальные и локальные переменные, цифровые и аналоговые, функциональность выводов и, конечно же, монитор Сирии. Давайте посмотрим, поэтому я собираюсь создать резервную копию этого кода, чтобы у нас были все наши выводы. Настроил так что я, собираюсь заново, добавить сюда кнопку Пин и равно 2 3 настроить пин нет снова и разнообразить сейчас. То, что мы хотим сделать, мы есть. Читая значение потенциометра, давайте взглянем на исходный код этого, чтобы вы могли видеть, что в нем есть немного. Сейчас.

Я собираюсь показать вам, как на самом деле скопировать код, который неправильно отформатирован, в Arduino IDE, чтобы он не выпадал должным образом, потому что это полезный навык, который не связан с последовательным мониторингом, но опять же, очень полезный. Итак, пока мы исправим этот короткий блок кода в ресурсах раздела, мы будем считать, что я на самом деле просто скопирую его прямо в IDE Arduino, и вы можете сказать, что он отформатирован неправильно, потому что все находится в одной строке: нет отступ, не хорошо. Таким образом, хотя этот код будет работать, загружать его будет нехорошо, чтобы переоснастить его, поэтому то, что вы можете сделать, это, как я вижу, аннулировать установку, и вы хотите посмотреть на фигурные скобки и, пожалуйста, избегайте установки, фигурной скобки для начала и фигурной скобка. Это конец, так что возьмите все, что внутри этого, выберите все это на вкладке. Во-первых, вы сдвинете его влево, что сейчас хорошо, если нет пробела между void, setup и popped при нажатии Enter, дайте ему немного места, чтобы сделать его красивым и легко читаемым. Мы сделаем то же самое с состоянием пустых лазеек, там возьмем все это все внутри этого отступа сразу вправо, теперь я собираюсь сделать здесь некоторый интервал, просто чтобы разделить разные части того, что мы делаем. . Это наша типография. Это все наша сенсорика. Функция цифрового чтения и цифровой записи. Так что же это такое? Код работает хорошо, давайте посмотрим, так что наш код довольно прост: мы добавляем только пару новых функций, пару новых битов и фрагментов, чтобы использовать последовательную функциональность.

Итак, у нас есть светодиод: у нас есть кнопка, тип вывода в наших режимах вывода определения вывода, а новый бит здесь — серийная точка, начинающаяся с 9600, которая вам может понравиться. в серийной библиотеке. Вы можете получить внешнюю библиотеку серийных номеров программного обеспечения, поэтому вы можете использовать разные выводы, что требует огромного количества служебных ресурсов. Но мы собираемся использовать это оборудование, потому что у устройства есть только один новый выходной порт на одном наборе контактов TX и rx, так что это так. То, что мы используем, если у нас есть несколько последовательных портов, будет 301, 302, так далее и тому подобное. Сдвиг, принятый в 9600 году, — это скорость платы, то есть количество битов в секунду, так что это довольно медленно. Самая медленная возможная скорость доски, тогда у нас есть пустотная петля. Теперь то, что мы делаем, это считываем кнопки, видим, что другие значения кнопок имеют верхнее значение, и мы фильтруем его вниз, используя отдельную локальную переменную для отфильтрованного значения конвейера, чтобы разделить его принудительно. Мы можем видеть необработанное значение по сравнению с отфильтрованным значением, а затем мы записываем его в наш светодиод, поэтому теперь у меня есть все эти функции, объединенные в один для вывода информации на последовательный монитор, который мы используем последовательную точечную печать. Теперь мы можем напечатать строку, а строка представляет собой переменный тип данных, который использует символы, пользователи в формате ASCII, и он фактически отправляет мальчику каждый из этих символов в виде единиц и нулей, а затем объединяет их вместе для отображения физических символов в серийный монитор и так использовать строки.

Мы используем двойные кавычки, чтобы кнопка. Я. Пишу. Физическая кнопка такси — это пробел. Затем мы запишем значение переменной состояния кнопки, а затем, когда вы увидите, что нет кавычек, мы поместим их в виде строки. Это буквально распечатало бы слова button States, а это не то, что нам нужно. Нам нужна переменная Darmstadt print. Потом печатный подозреваемый и так далее и тому подобное. Он делает это для значения точки необработанного значения часов, а затем для фильтра, значения часов и, наконец, вы можете увидеть печать Ln в этом смысле, строку печати. Теперь каждая из этих строк будет напечатана на одной и той же горизонтальной строке, а затем напечатана Ln print. Все это в конце отправляет символ возврата, поэтому он знает, что печатать все после этого на новой строке действительно здорово. Итак, давайте загрузим это на нашу доску и посмотрим, как у нас все пойдет хорошо. Итак, теперь давайте взглянем на последовательный монитор, поэтому, чтобы открыть последовательный монитор, перейдите в меню «Инструменты» вашего arduino ide, убедитесь, что у вас выбран правильный порт, чтобы он появился. Для меня это может быть другой номер для вас или устройство для него, если вы на Mac и переходите к серийному номеру, мониторите здесь, и он подключится к вашей плате, займет несколько секунд, а затем мы все распечатаем. .Итак, вы можете видеть, что мы не используем задержки в этой функции, поэтому она ничего не ждет и выводит результат очень-очень быстро.

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

Обратите внимание: это партнерские ссылки. Если вы покупаете компоненты по этим ссылкам, мы можем получить комиссию без каких-либо дополнительных затрат для вас. Мы ценим это.

О последовательном мониторе

Последовательный монитор — это один из инструментов Arduino IDE. Он используется для двух целей:

Arduino → ПК: получает данные от Arduino и отображает данные на экране. Обычно это используется для отладки и мониторинга

Обмен данными между Serial Monitor и Arduino осуществляется через USB-кабель, который также используется для загрузки кода в Arduino. Поэтому, чтобы использовать Serial Monitor, мы ДОЛЖНЫ подключить Arduino и ПК через этот кабель.

Как использовать последовательный монитор

Открыть серийный монитор

Нажмите значок серийного монитора

Arduino IDE — Как открыть серийный монитор

Элементы на последовательном мониторе

Выбор скорости передачи данных: выберите скорость передачи данных (скорость передачи данных) между Arduino и ПК. Это значение ДОЛЖНО совпадать со значением, используемым в коде Arduino (в функции Serial .begin()).

※ ПРИМЕЧАНИЕ:

Когда мы выбираем скорость передачи данных (даже значение не меняется), происходит сброс Arduino. Поэтому это один из способов сбросить настройки Arduino.

Кнопка «Отправить»: при нажатии кнопки Serial Monitor отправляет данные в текстовом поле вместе с конечными символами в Arduino

Arduino на ПК

Чтобы отправить данные с Arduino на ПК, нам нужно использовать следующий код Arduino:

Отправьте данные в Serial Monitor с помощью одной из следующих функций: Serial.print(), Serial.println(), Serial.write(). Например, отправьте «Hello World!» в последовательный монитор

Пример использования

/* * Создано ArduinoGetStarted.com * * Этот пример кода находится в открытом доступе * * Страница руководства: https://arduinogetstarted.com/tutorials/arduino-serial-monitor */ void setup () < Serial . начало (9600); >void loop () < Serial . println("ArduinoGetStarted.com"); задержка (1000); >

Быстрые действия

ПК к Arduino

Как отправить данные с ПК на Aduino и прочитать их на Arduino

Введите текст в Serial Monitor, а затем нажмите кнопку "Отправить".

Arduino считывает данные и обрабатывает их. Чтобы прочитать данные, нам нужно использовать следующий код Arduino:

Пример использования

В этом примере мы отправим команды из Serial Monitor в Arduino для включения/выключения встроенного светодиода. Команды включают:

Как Arduino может получить полную команду? Например, когда мы отправляем команду «ВЫКЛ», как Arduino узнает, что это команда «О», «ВЫКЛ» или «ВЫКЛ»?

⇒ При отправке команды мы добавим символ новой строки ( '\n' ), выбрав опцию «новая строка» в Serial Monitor. Arduino будет считывать данные до тех пор, пока не встретит символ новой строки. В этом случае символ новой строки называется разделителем.

После входа в систему вы будете перенаправлены обратно к этому руководству и сможете подписаться на него.

После того, как вы загрузили этот скетч на Arduino, нажмите крайнюю правую кнопку на панели инструментов в Arduino IDE. Кнопка обведена ниже.

learn_arduino_ide_serial_moniotor_button. jpg

learn_arduino_serial_monitor_0. jpg

Это окно называется Serial Monitor и является частью программного обеспечения Arduino IDE. Его работа заключается в том, чтобы вы могли отправлять сообщения с вашего компьютера на плату Arduino (через USB), а также получать сообщения от Arduino.

Сообщение «Введите номер светодиода от 0 до 9 или «x» для очистки» было отправлено Arduino, и оно сообщает нам, какие команды мы можем отправить на Arduino, то есть либо отправить «x» (на выключите все светодиоды) или номер светодиода, который вы хотите включить (где 0 – нижний светодиод, 1 – следующий вверх вплоть до 7 для верхнего светодиода).

Попробуйте ввести следующие команды в верхнюю область последовательного монитора, которая находится на одном уровне с кнопкой «Отправить». Нажмите «Отправить» после ввода каждого из этих символов: x 0 3 5

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

learn_arduino_serial_monitor. jpg

Вы можете видеть, что я собираюсь нажать «Отправить» после повторного ввода «x». Сделайте это, и все светодиоды погаснут.

Впервые это руководство было опубликовано 4 декабря 2012 года. Последнее обновление: 4 декабря 2012 года.

Читайте также: