СОДЕРЖАНИЕ ►
Монитор порта Ардуино – это утилита, встроенная в среду программирования Arduino IDE и служит она для связи компьютера с контроллером. С помощью монитора последовательного порта производится отладка прошивки микроконтроллера, получение информации о работе программы и отправка команд к микроконтроллеру по USB. Рассмотрим, как работать с утилитой: выбор скорости обмена информацией, команды в скетче для вывода текста и переменных на Serial Monitor Arduino IDE.
Монитор последовательного порта Arduino
Утилита состоит из окна, разбитого на три части. В верхней части находится поле ввода, где можно с компьютера отправлять данные в последовательный порт. В центре отображаются данные, полученные из последовательного порта. В нижней части окна — меню настроек. Монитор порта Arduino может работать с одним последовательным портом, чтобы не было ошибки при загрузке скетча и открытии Serial Monitor, необходимо выбрать COM порт на котором определилась плата Arduino UNO.
Для открытия утилиты необходимо нажать на иконку в верхнем правом углу Arduino IDE, использовать комбинацию клавиш Ctrl+Shift+M или выбрать в панели меню: Сервис -> Монитор порта. По умолчанию в Serial Monitor для Ардуино установлена скорость передачи данных 9600 бит в секунду, поэтому во многих скетчах используется такая скорость. Если скорость передачи данных в скетче и в настройках монитора порта будут разные, то вся информация будет отображаться в виде иероглифов.
Прием и отправка текста на монитор порта
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega.

- Для работы с утилитой, используют следующие команды:
Serial.begin();— команда запускает последовательный портSerial.end();— останавливает и очищает последовательный портSerial.print();— отправляет данные в последовательный портSerial.println();— отправляет данные с переносом строкиSerial.read();— принимает данные из последовательного портаSerial.parseInt();— чтение больших чисел из монитора порта
Пример 1. Команды для вывода текста на монитор порта
void setup() { Serial.begin(9600); // подключаем монитор порта Serial.print("Start"); // выводим текст на монитор 1 раз } void loop() { Serial.print("Hello!"); // выводим текст 1 раз в секунду delay(1000); // задержка в 1 секунду }
Пример 2. Команды с переносом строки на мониторе порта
void setup() { Serial.begin(9600); // подключаем монитор порта Serial.println("Start"); // выводим текст на монитор 1 раз } void loop() { Serial.println("Hello!"); // выводим текст 1 раз в секунду delay(1000); // задержка в 1 секунду }
Пример 3. Вывод переменных на монитор порта
void setup() { Serial.begin(9600); // подключаем монитор порта Serial.println("Start"); // выводим текст на монитор 1 раз } void loop() { byte z; // освобождаем память для переменной z byte x = random(0,10); // генерируем случайное число x byte y = random(0,10); // генерируем случайное число y z = x + y; // выполняем операцию сложения // выводим результаты арифметических операций Serial.print(x); Serial.print(" + "); Serial.print(y); Serial.print(" = "); Serial.println(z); delay(1000); // задержка в 1 секунду }

Для вывода сообщений на мониторе порта можно использовать табуляцию и перенос строк для оформления, чтобы сделать информацию удобной для восприятия.
Пример 4. Команды для табуляции и переноса строк
void setup() { Serial.begin(9600); // подключаем монитор порта Serial.println("Start"); // выводим текст на монитор 1 раз } void loop() { byte z; // освобождаем память для переменной z byte x = random(0,10); // генерируем случайное число x byte y = random(0,10); // генерируем случайное число y z = x * y; // выполняем операцию умножения // выводим результаты арифметических операций Serial.print(x); Serial.print("\t"); // табуляция Serial.print(y); Serial.print("\t"); // табуляция Serial.print(z); Serial.print("\n"); // перенос строки delay(1000); // задержка в 1 секунду }
Часто в скетчах требуется отключить Serial Monitor или очистить буфер обмена последовательного порта, для этого используется команда Serial.end();, чтобы запустить обмен информацией между Ардуино и компьютером снова выполняется команда Serial.begin();, которую можно прописать в процедуре loop. Если у вас выводятся кракозябры и иероглифы, то проверьте скорость передачи данных, установленную в скетче, и в настройках утилиты (правый нижний угол).
Arduino на мониторе порта Кракозябры
Как подключить монитор порта Ардуино правильно, чтобы не выводились квадратики и иероглифы мы разобрались — это команда Serial.begin(9600); (скорость обмена данными по умолчанию). Чтобы отправлять данные в последовательный порт с компьютера и управлять Ардуино, используется команда Serial.read(); для приема данных и Serial.parseInt(); для чтения больших чисел. Использование данных команд на примере можно посмотреть здесь: Управление Ардуино с компьютера.










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