Comandos de palavras
Parte da seção Entradas do Journey de Arduino da Coddy. Lição 16 de 22.
Um caractere por comando acaba ficando limitado rapidamente. Palavras são mais claras: on, off. Uma palavra tem vários caracteres, então leia a linha inteira de uma só vez. Um trecho de texto é uma String, e Serial.readStringUntil() lê os caracteres até encontrar aquele que você indicar, a quebra de linha, que ele descarta:
if (Serial.available() > 0) {
String command = Serial.readStringUntil('\n');
if (command == "on") {
// ...
}
}Texto fica entre aspas duplas, "on"; um único caractere fica entre aspas simples, 'o'.
Para escolher um entre vários comandos, encadeie os testes com else if. A placa os testa em ordem e executa apenas o primeiro que for verdadeiro; o último else captura todos os demais casos:
if (command == "on") {
// ...
} else if (command == "off") {
// ...
} else {
Serial.println("Unknown command");
}Desafio
FácilO LED está no pino 13. Controle-o com palavras digitadas no monitor Serial:
- leia uma linha inteira em uma
String onacende o LED,offo apaga- qualquer outra palavra exibe
Unknown command
Pressione Run, envie on, off ou uma palavra de sua escolha pelo monitor Serial e, em seguida, Check.
Experimente você mesmo
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
// leia a linha e, em seguida, aja de acordo com "on", "off" ou qualquer outra coisa
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Entradas
3Entrada Serial
Leia um caractere serialComandos de palavrasVelocidade de piscar via serialPiscar ao receber um comandoPratique por conta própria: Playground de Arduino