Menu
CoddyTech

Leia um caractere serial

Parte da seção Entradas do Journey de Arduino da Coddy. Lição 15 de 22.

A conexão serial funciona nos dois sentidos. O texto digitado na caixa do Monitor Serial e enviado com Enviar vai para a placa um caractere por vez e fica lá em um buffer até que o sketch o leia.

Serial.available() informa quantos caracteres estão aguardando. Serial.read() retira o próximo do buffer. Um caractere cabe em uma variável char, escrita entre aspas simples:

if (Serial.available() > 0) {
  char c = Serial.read();
  if (c == '1') {
    // 1 foi digitado
  }
}

'1' entre aspas simples é o caractere 1, a tecla que você pressiona. Não é o número 1: a placa armazena o caractere como o código 49.

O Monitor Serial também envia um caractere invisível de nova linha, escrito como '\n', depois do que você digitar. Um sketch age sobre os caracteres que conhece e ignora quaisquer outros.

challenge icon

Desafio

Fácil

O LED está no pino 13. Alterne-o pelo monitor Serial:

  • quando um caractere estiver aguardando, leia-o em um char
  • '1' liga o LED, '0' o desliga
  • qualquer outro caractere, como a quebra de linha, não altera nada

Pressione Run, digite 1 ou 0 no monitor Serial e pressione Send, depois Check.

Experimente você mesmo

const int ledPin = 13;

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

void loop() {
  // quando houver um caractere aguardando, leia-o
  // '1' acende o LED, '0' o apaga
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Arduino