Набор функций Serial служит для связи устройства Ардуино с ПК или другими устройствами, поддерживающими последовательный интерфейс обмена данными. Все платы Arduino имеют хотя бы один последовательный порт (UART). Для обмена данными Serial используют цифровые порты ввод/вывода 0 (RX) и 1 (TX) , а также USB порт. Важно учитывать, что если вы используете функции Serial, то нельзя одновременно с этим использовать пины 0 и 1 для других целей.
Среда разработки Arduino IDE имеет встроенный монитор порта. Для начала обмена данными необходимо запустить монитор нажатием кнопки « Монитор порта » и выставить ту же скорость связи, с которой вызвана функция begin().
В нашем примере мы рассмотрим только часть функция Serial.
Serial.write() – записывает в порт данные в двоичном виде.
Serial.print() - может иметь много значений, но все они служат для вывода информации в удобной для человека форме. Например, если информация, указанная как параметр для передачи, выделена кавычками – терминальная программа выведет ее без изменения. Если вы хотите вывести какое-либо значение в определенной системе исчисления, то необходимо добавить служебное слово: BIN-двоичная, OCT – восьмеричная, DEC – десятичная, HEX – шестнадцатеричная. Например: Serial.print(25,HEX).
Serial.println() делает то же, что и Serial.print(), но еще переводит строку после вывода информации.
SerialEvent() Автоматически вызывается при поступлении новых данных.
Serial.begin() Инициирует последовательное соединение и задает скорость передачи данных вбит/c (бод). Для обмена данными с компьютером используйте следующие значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200.
Первое что мы с вами сделаем это будем управлять встроенным светодиодом на плату Arduino который подключен к 13 пину.
int LED = 13; int val = 0; void setup() { Serial.begin(9600); //Инициирует последовательное //соединение и задает скорость передачи данных в бит/c (бод) pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); } void loop() { if (Serial.available() > 0) // пришли данные { val = Serial.read(); if (val=='1') // если 1 то включаем светодиод digitalWrite(LED,HIGH); if (val=='0') // если 0 то выключаем светодиод digitalWrite(LED,LOW); } }
В монитор порта ни какой информации не возвращается. Также можно вывести в монитор порта информацию полученную от Arduino.
При включении светодиода выведем: « Светодиод вкл .». И также выведем слово « Portal-Pk.ru», с переносом строки. Чтобы следующая запись выводилась строчкой ниже.
При выключении светодиода выведем: «Светодиод выкл.». И также выведем слово «Portal-Pk.ru» с переносом строки.
int LED = 13; int val = 0; void setup() { Serial.begin(9600); //Инициирует последовательное //соединение и задает скорость передачи данных в бит/c (бод) pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); } void loop() { if (Serial.available() > 0) // пришли данные { val = Serial.read(); if (val=='1') // если 1 то включаем светодиод { digitalWrite(LED,HIGH); Serial.print("Светодиод вкл. "); // вывод данных Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки } if (val=='0') // если 0 то выключаем светодиод { digitalWrite(LED,LOW); Serial.print("Светодиод выкл. "); // вывод данных Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки } } }
Данный инструмент помогает при отладки программы . В монитор порта модно вывести состояние оборудования, на коком этапе выводит ошибку и пр.
Смотрите также: Уроки Arduino: Подключение датчиков и модулей к Arduino
Понравилась статья? Поделитесь ею с друзьями:
Вернуться в раздел: Статьи об Ардуино Дата публикации 18 июня , 2019
Читайте также
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.