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.
!Identificando os Componentes
!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).