Menu
CoddyTech

Текстовые команды

Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 16 из 22.

Одного символа на команду быстро перестаёт хватать. Слова понятнее: on, off. Слово состоит из нескольких символов, поэтому считывай всю строку целиком. Фрагмент текста — это String, а Serial.readStringUntil() считывает символы, пока не встретит указанный тобой символ — символ новой строки, который она отбрасывает:

if (Serial.available() > 0) {
  String command = Serial.readStringUntil('\n');
  if (command == "on") {
    // ...
  }
}

Текст записывается в двойных кавычках, "on"; один символ — в одинарных кавычках, 'o'.

Чтобы выбрать одну из нескольких команд, объедини проверки цепочкой из else if. Плата проверяет условия по порядку и выполняет только первое, которое истинно; последний else обрабатывает всё остальное:

if (command == "on") {
  // ...
} else if (command == "off") {
  // ...
} else {
  Serial.println("Unknown command");
}
challenge icon

Задание

Легко

Светодиод подключён к контакту 13. Управляй им словами, введёнными в монитор последовательного порта:

  • считывай целую строку в String
  • on включает светодиод, off выключает его
  • любое другое слово выводит Unknown command

Нажми Run, отправь on, off или любое своё слово из монитора последовательного порта, затем нажми Check.

Попробуйте сами

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) {
    // считай строку, затем обработай "on", "off" или любое другое значение
  }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Входные сигналы

Потренируйтесь самостоятельно: Песочница Arduino