Использование Serial Monitor для отладки скетчей Arduino

Введение

Serial Monitor — это встроенный инструмент Arduino IDE, который позволяет обмениваться данными между платой и компьютером через последовательный порт. С его помощью можно отправлять и получать текстовую информацию, что удобно для отладки и мониторинга работы устройства.

Serial Monitor является одним из самых простых и полезных инструментов для разработчиков на Arduino, особенно при поиске ошибок в коде, проверке данных с датчиков или отладке логики программы.

Как открыть Serial Monitor

  1. Подключите Arduino к компьютеру через USB.
  2. Откройте Arduino IDE.
  3. Нажмите Инструменты → Монитор порта или используйте сочетание клавиш Ctrl+Shift+M.
  4. Установите скорость передачи (baud rate), соответствующую значению, указанному в функции Serial.begin() в скетче.

Основные функции Serial

  • Serial.begin(9600); — инициализация последовательного порта с заданной скоростью (бит/с).
  • Serial.print("Текст"); — вывод текста или значения без перевода строки.
  • Serial.println("Текст"); — вывод текста или значения с переводом строки.
  • Serial.read(); — чтение байта из входного буфера.
  • Serial.available(); — количество байт, доступных для чтения.

Пример 1 — Простая отладка

Этот пример показывает, как вывести сообщение в Serial Monitor при старте программы:


void setup() {
  Serial.begin(9600); // Запуск Serial с 9600 бод
  Serial.println("Программа запущена");
}

void loop() {
  Serial.println("Цикл выполняется");
  delay(1000);
}
  

Пример 2 — Вывод данных с датчика

Часто необходимо проверять, правильно ли считываются данные с датчиков:


int sensorPin = A0;

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

void loop() {
  int value = analogRead(sensorPin);
  Serial.print("Значение датчика: ");
  Serial.println(value);
  delay(500);
}
  

Пример 3 — Передача данных от пользователя к Arduino

Можно использовать Serial Monitor для ввода команд в Arduino:


String command = "";

void setup() {
  Serial.begin(9600);
  Serial.println("Введите команду:");
}

void loop() {
  if (Serial.available() > 0) {
    command = Serial.readStringUntil('\n');
    Serial.print("Вы ввели: ");
    Serial.println(command);
  }
}
  

Пример 4 — Отладка логики программы

Serial Monitor помогает понять, что происходит в коде, например, при работе с условиями:


int buttonPin = 2;

void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(buttonPin) == LOW) {
    Serial.println("Кнопка нажата");
  } else {
    Serial.println("Кнопка отпущена");
  }
  delay(200);
}
  

Советы по использованию Serial Monitor

  • Выбирайте минимально достаточную скорость обмена — часто достаточно 9600 или 115200 бод.
  • Избегайте слишком частого вывода данных, чтобы не перегрузить порт.
  • Для отладки используйте понятные сообщения с пометками переменных.
  • При отправке команд из Serial Monitor убедитесь, что выбран правильный режим перевода строки (без символов, NL, CR или CR+NL).

Заключение

Serial Monitor — это мощный инструмент для отладки и тестирования скетчей Arduino. Он позволяет быстро находить ошибки, контролировать выполнение программы и взаимодействовать с устройством без дополнительного оборудования.

<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Электро насос прозрачный 12 В 100°С

Электро насос прозрачный 12 В 100°С

Насос работает на основе диафрагмы и может применяться для перекачки пищевых продуктовРасход жидкост..

269.59грн.

Микро концевой выключатель KW-1

Микро концевой выключатель KW-1

Микро переключатель с максимальным током коммутации 2 А. Такие ставят в компьютерные мышки в качеств..

7.18грн.

Драйвер A4988. Как использовать ENABLE, SLEEP и RESET

Драйвер A4988. Как использовать ENABLE, SLEEP и RESET

Привет, друзья! Давайте обсудим такой важный вопрос при работе с драйвером A4988, как пины разрешени..

Драйвер шагового двигателя DRV8825 для шилда RAMPS

Драйвер шагового двигателя DRV8825 для шилда RAMPS

Драйвер шагового двигателя для системы RAMPS. Устанавливается на специальный CNC-шилд Arduino д..

104.31грн.

Монтажный шилд для NodeMcu ESP8266

Монтажный шилд для NodeMcu ESP8266

Монтажный модуль расширения для WiFi контроллера NodeMcu ESP8266Позволяет выполнять монтаж прое..

90.58грн.