Перейти к содержанию

Ардуино монитор порта, команда Serial.begin(9600)

Ардуино Монитор порта, команда Serial.begin

Последовательный монитор Arduino используется для отладки программы микроконтроллера, получения информации о работе датчиков и передачи команд через USB-порт. Что представляет собой последовательный монитор? Рассмотрим работу с последовательным монитором: выбор скорости обмена информацией, команды в программе для вывода текста и переменных на последовательный монитор Arduino IDE.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega

Дополнительные материалы на эту тему:

  1. Перезагрузка Ардуино программно, командой
  2. Проект: игра на мониторе порта «Угадай шифр»
  3. Типы данных Ардуино, объявление переменных

Arduino serial monitor состоит из окна, разделенного на три части. Верхняя часть представляет собой поле ввода, куда можно отправлять данные с компьютера. В центре — данные, полученные от микроконтроллера. В нижней части окна расположено меню настроек. Чтобы избежать ошибки при загрузке скетча и открытии монитора порта в Arduino IDE, необходимо выбрать COM-порт, на котором обнаружена плата Arduino.

Что такое serial monitor Arduino IDE?

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

Чтобы открыть монитор порта, щелкните на иконке в правом верхнем углу Arduino IDE или воспользуйтесь комбинацией клавиш Ctrl+Shift+M. По умолчанию монитор Arduino настроен на скорость 9600 бит/с — Serial.begin(9600), поэтому многие программы используют именно эту скорость. Если скорость передачи данных в скетче и настройки serial monitor отличаются, то информация будет отображаться в виде иероглифов.

Отправка и прием данных на serial monitor

При работе утилитой используются следующие команды:

Serial.begin(); — запуск последовательного монитора порта
Serial.end(); — остановка и очистка последовательного монитора
Serial.print(); — отправка данных на последовательный монитор
Serial.println(); — отправка данных на монитор с переносом строки
Serial.read(); — получение данных с последовательного монитора
Serial.parseInt(); — считывание больших чисел с монитора порта

Скетч для вывода текста на мониторе порта


void setup(){
  Serial.begin(9600);
  Serial.print("Hello!");
}

void loop(){

}

Скетч для вывода переменных на монитор порта

int x;

void setup(){
  Serial.begin(9600);
}

void loop(){
  x = x + 1;
  Serial.print("x = ");
  Serial.println(x);
  
  delay(1000);
}

Ардуино Монитор порта, команда Serial.begin

Если необходимо отключить монитор или очистить буфер обмена, используется команда Serial.end(). Для возобновления обмена информацией между Arduino и компьютером выполняется команда Serial.begin(). А для вывода сообщений на последовательный монитор Arduino IDE можно использовать табуляцию и перенос строки, чтобы сделать информацию более читабельной. Смотрите следующий пример программы.

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

int x;

void setup(){
  Serial.begin(9600);
}

void loop(){
  x = x + 1;
 
  Serial.print("x");
  Serial.print("\t"); // табуляция
  Serial.print("=");
  Serial.print("\t"); // табуляция
  Serial.println(x);

  delay(1000);
}

Рассмотрим, как управлять платой Arduino с компьютера через монитор порта с помощью функции Serial.available(). Эта функция используется для получения количества байтов, доступных для чтения в буфере монитора порта Arduino IDE. При этом буфер монитора Arduino IDE может хранить максимум 64 байта. Функция Serial.available() также используется при обмене данными между блютуз модулем hc-05 и Arduino.

Как управлять Ардуино с компьютера через клавиатуру

Управление Ардуино с клавиатуры компьютера

Функция Serial.available в языке Arduino проверяет наличие информации, поступающих на микроконтроллер через последовательный порт UART. И в этом примере через клавиатуру компьютера мы будем управлять светодиодом и сервомотором, подключенных к Ардуино. Отправлять команды на микроконтроллер через UART можно не только с помощью цифр, но и с помощью букв латинского алфавита и спецсимволов.

Скетч для управления Ардуино с клавиатуры компьютера

#include "Servo.h"
Servo servo;
int val;

#define LED 10   // пин подключения светодиода
#define SERVO 12 // пин подключения серво

void setup() {
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  servo.attach(SERVO);
}

void loop() {
  // ждем команду с монитора порта
  if (Serial.available()) {
     val = Serial.read();
     
     // включаем или выключаем светодиод
     if (val == '1') { digitalWrite(LED, HIGH); }
     if (val == '0') { digitalWrite(LED, LOW); }

     // поворачиваем серво в зависимости от команды
     if (val == '2') { servo.write(0); }
     if (val == '3') { servo.write(90); }
     if (val == '4') { servo.write(180); }
  }
}

Заключение. Что такое монитор последовательного порта Arduino? Как правильно настроить serial monitor Arduino, чтобы не получить квадратики и иероглифы — это команда Serial begin(9600) (скорость обмена данными по умолчанию). Для отправки данных в последовательный порт с компьютера и управления Arduino мы используем команду Serial.read() для приема данных и Serial.parseInt() для чтения больших чисел.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜