Управляем Arduino через USB. Библиотека Serial.

.Управляем Arduino через USB. Библиотека Serial.

Набор функций Serial служит для связи устройства Ардуино с ПК или другими устройствами, поддерживающими последовательный интерфейс обмена данными. Все платы Arduino имеют хотя бы один последовательный порт (UART). Для обмена данными Serial используют цифровые порты ввод/вывода 0 (RX) и 1 (TX) , а также USB порт. Важно учитывать, что если вы используете функции Serial, то нельзя одновременно с этим использовать пины 0 и 1 для других целей.

Среда разработки Arduino IDE имеет встроенный монитор порта. Для начала обмена данными необходимо запустить монитор нажатием кнопки « Монитор порта » и выставить ту же скорость связи, с которой вызвана функция begin().

Основные функции Serial
  • begin()
  • end()
  • available()
  • read()
  • flush()
  • print()
  • println()
  • write()
  • peek()

В нашем примере мы рассмотрим только часть функция 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");  // вывод данных с переносом строки
      }
  }
}

При выключении светодиода выведем: «Светодиод выкл.». И также выведем слово «Portal-Pk.ru»

Данный инструмент помогает при отладки программы . В монитор порта модно вывести состояние оборудования, на коком этапе выводит ошибку и пр.

Смотрите также: Уроки Arduino: Подключение датчиков и модулей к Arduino

Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.

Спасибо за внимание!

Вернуться в раздел: Софт и прочее для Arduino, CNC Дата публикации 18 июня , 2019

Комментарии

Ваше Имя*
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.


Яндекс.Метрика

Top.Mail.Ru

Portal-PK (Портал ПК) © 2015 - 2019 Робототехника на F-studio.biz
Обратная связь
Подписаться на новости
RSS