Текстовые команды
Часть раздела Входные сигналы путешествия по 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");
}Задание
ЛегкоСветодиод подключён к контакту 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" или любое другое значение
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Входные сигналы
3Последовательный ввод
Чтение символа из последовательного портаТекстовые командыСкорость мигания через последовательный портМигание по командеПотренируйтесь самостоятельно: Песочница Arduino