Взаимодействие Arduino c ПК
Дополнительные задания

Взаимодействие Arduino c ПК

1. Взаимодействие Arduino c ПК

2.

ARDUINO
связан с ПК посредством USB
соединения.
Микроконтроллер на плате ARDUINO имеет
встроенный последовательный интерфейс
UART, который несовместим с USB.
Для взаимодействия платы ARDUINO и ПК
через USB используется преобразователь
USB-UART, размещенный на плате.

3.

Благодаря
преобразователю USB-UART
ARDUINO
может
осуществлять
двухсторонний обмен данными с ПК.
Для простого вывода и ввода информации от
ARDUINO на ПК служит монитор порта.
Доступ к монитору:
1) меню Инструменты – Монитор порта
2) ctrl+shift+M
3) кнопка на панели

4.

Окно монитора порта
Строка ввода данных
для отправки в
Arduino
Поле для полученных
данных с Arduino
Скорость передачи
данных [бод]

5.

Организация вывода данных в терминал
1) Настройка последовательного порта:
Функция Serial.begin(bod);
bod – скорость передачи в бодах (должна
совпадать с аналогичным значением в
терминале!)
Функция прописывается в области Void
setup

6.

2)
Передача данных в порт:
Функция Serial.print(date, format);
date – данные для передачи,
format – формат вывода данных.
# вывод данных в разных форматах
Формат
Код
Отображение
терминале
Десятичный
Serial.print(100)
100
Шестнадцатеричный
Serial.print(100, HEX)
64
Восьмеричный
Serial.print(100, OCT)
144
Двоичный
Serial.print(100, BIN)
1100100
Текст
Serial.print(“Текст”)
Текст
Переменная val=100
Serial.print(val, HEX)
64
Табуляция
Serial.print(“\t”)
данных
в

7.

При
необходимости выдавать данные в
терминале с новой строки, следует
использовать функцию:
Serial.println(date, format);
Данная функция после печати данных в
терминале одного сообщения переводит
курсор на новую строку (передает в терминал
дополнительные неотображаемые символы
возврата каретки и перехода на новую
строку).

8.

* особенности использования вывода в терминал:
При
использования последовательного порта
цифровые выводы платы 0 (RX) и 1 (TX) не могут
быть задействованы для других целей.
Для закрытия порта и освобождения выводов pin0 и
pin1 можно использовать функцию Serial.end().
При
передаче по последовательному порту все
данные преобразуются в символы и передаются
только их коды в системе ASCII.

9.

#
Вывод информации о
псевдослучайной
задержки
светодиода в терминал.
величине
мигания

10.

* Принципы работы ввода данных с терминала:
При передаче данных на плату Arduino, каждый
байт
данных
помещается
во
входной
последовательный буфер.
При считывании байта, считывается всегда
первый байт в последовательности.
После считывания буфер удаляет считанный байт
и сдвигает всю последовательность вперед.
Далее процесс повторяется до тех пор, пока
количество хранящихся байтов в буфере не будет
равно нулю.

11.

Организация считывания данных из
терминала в Arduino
Функция считывания:
Serial.read(); считывает один байт из входного
буфера.
Вспомогательная функция:
Serial.available (); возвращает 1 (HIGH) при
наличии данных в буфере и 0 (LOW) при
отсутствии.
Буфер будет заполнен пока все байты
(символы) из него не будут считаны.

12.

Пример использования функций Serial.read() и
Serial.available()

13. Дополнительные задания

Измените форму вывода переменной Bite на
шестнадцатеричную, или иную другую и
посмотрите результаты.
Составьте программу, вывода в терминал
вводимых вами символов в одну строку.
Дополните ранее созданную программу
управления частотой мигания светодиода с
помощью
переменного
резистора
c
возможностью вывода частоты мигания в
терминал.
English     Русский Правила