Monitor Serial

Vamos introduzir um importante recurso chamado de monitor serial! Vamos apresentar algumas características que utilizaremos como recurso em outros experimentos

!Informações Importantes

O monitor serial é o elo entre o computador e o seu Arduino. Com ele você pode enviar e receber informações na forma de texto, útil para depuração e também para controlar o Arduino pelo teclado do PC.

Para acessar o monitor serial corretamente, você primeiramente deve conectar a placa, fazer upload do seu código e então clicar no simbolo da lupa que se encontra no canto superior direito na tela do Arduino.

passo_1

!Identificando os Componentes

Botão Interface

!Componentes de código

Vamos introduzir as funções necessárias para a utilização do monitor serial:

Serial.begin: Serial.begin([velocidade])

Para podermos utilizar o monitor serial, devemos primeiro iniciar a comunicação serial. Isso é feito uma vez dentro da função setup().

A função Serial.begin() precisa de um parâmetro relacionado com a taxa de transmissão. Para nossos experimentos utilizaremos a taxa de 9600, porem essa taxa não é fixa e pode variar conforme a necessidade. Existem muitos valores os quais os mais comuns são 300, 2400, 4800, 9600, 19200, 57600 e 115200.

Serial.println: Serial.println([variavel])

Agora, para imprimir os valores no monitor serial, devemos utilizar a função Serial.println(). Essa função imprime o valor de uma variável e posteriormente adiciona uma nova linha. Esse recurso é muito interessante porque assim, com o recurso de Auto-rolagem ativado a tela não fica confusa e poluída.

No código abaixo quando o botão não está apertado, o número 1 é exibido, e quando o botão é apertado o número 0 é exibido.

!Executando no Arduino

Executando no Arduino você pode monitorar se um botão foi pressionado. Como de costume, no código abaixo você pode conferir os comentários para entender melhor o seu funcionamento.

// declara uma variavel e atribui ao pino relativo ao botão RIGHT:
int pushButton = A0;

void setup() 
{
  // inicia a comunicação serial com 9600 bits por segundo:
  Serial.begin(9600);
  // declara o botão como pino de entrada:
  pinMode(pushButton, INPUT);
}

void loop() 
{
  //realiza a leitura do botão e guarda na variavel buttonState:
  int buttonState = digitalRead(pushButton);
  //Imprime o valor guardado na variavel:
  Serial.println(buttonState);
  delay(1);        // delay entre as leituras para estabilidade
}

!Sua vez!

Tente mudar a velocidade de leitura no monitor serial. Algo de estranho aconteceu? Reflita sobre o motivo pelo qual isso acontece.

Resposta

Taxas de transmissão correspondem à velocidade com a qual os dados são transmitidos, e são como idiomas da comunicação serial. Se dois dispositivos não estão falando o mesmo idioma, ou seja, não estão com a mesma velocidade, os dados não serão corretamente interpretados. Nesse caso, tudo que um dispositivo de recepção vai receber é "lixo", e por isso é importante sempre verificar se as taxas de transmissão são as mesmas entre dois sistemas comunicando entre si (nesse caso, o computador e a Base Boarduino).