Serial.print() vs Serial.println() no Arduino

Serial Print Vs Serial Println No Arduino



O Arduino é uma placa de microcontrolador popular que é comumente usada para projetos DIY, robótica e dispositivos IoT. Uma das características essenciais do Arduino é a troca de dados com computadores via comunicação serial.

Serial.print() e Serial.println() são dois dos comandos mais usados ​​para comunicação serial no Arduino. Este artigo cobrirá as diferenças entre Serial.print() e Serial.println() e como eles afetam seu projeto Arduino.

Índice







O que é comunicação serial

Antes de mergulharmos nas diferenças entre Serial.print() e Serial.println() , vamos primeiro entender o que comunicação em série é. Comunicação em série é o processo de transmissão e recepção de dados. Usando este Arduino pode transferir um bit de dados de cada vez, com o protocolo de comunicação serial. No Arduino, usamos o objeto Serial para trocar dados com um PC usando uma porta USB.



Comunicação em série é essencial para depurar e monitorar o comportamento de um projeto Arduino. Você pode usá-lo para imprimir leituras de sensores, código de depuração ou exibir mensagens na tela do computador.



Serial.print()

Serial.print() é uma função que envia dados para a porta serial em um fluxo contínuo. Ele permite que você envie dados como uma string, um caractere ou um valor numérico. Por exemplo, o código fornecido envia uma string “ Olá Mundo! ” para a porta serial do Arduino:





Serial.print ( 'Olá Mundo!' ) ;

Serial.print() não adiciona nenhuma quebra de linha ou retorno de carro ao final dos dados, portanto, os dados são impressos continuamente na mesma linha.

Serial.println()

Serial.println() é similar a Serial.print() , mas adiciona um caractere de quebra de linha (\n) no final dos dados. Isso nos mostra que cada vez Serial.println() função for chamada, a próxima instrução de impressão começará em uma nova linha. Por exemplo, o código fornecido envia a string “ Olá Mundo! ” e adiciona uma quebra de linha:



Serial.println ( 'Olá Mundo!' ) ;

Isso irá imprimir “ Olá Mundo! ” no terminal serial do Arduino.

Diferença entre Serial.print() e Serial.println()

A principal diferença entre Serial.print() e Serial.println() é aquele Serial.print() envia dados em um fluxo contínuo, enquanto Serial.println() envia dados com uma quebra de linha no final.

Agora vamos cobrir o código de exemplo que explica o funcionamento de ambas as funções.

Serial.print() Exemplo

A seguir está o código que explica o uso de Serial.print() :

anular configuração ( ) {
Serial.begin ( 9600 ) ; // inicializar a comunicação serial em 9600 taxa de transmissão
}

loop vazio ( ) {
int randomValue = aleatório ( 0 , 1023 ) ; // gerar um valor aleatório entre 0 e 1023

Serial.print ( 'Valor aleatório: ' ) ; // imprimir a etiqueta
Serial.print ( valoraleatório ) ; // imprimir o valor aleatório em uma nova linha

atraso ( 2000 ) ; // espere para 500 milissegundos antes de imprimir novamente
}

Este código inicializa a comunicação serial com uma taxa de transmissão de 9600 na função setup(). A função loop() gera um valor inteiro aleatório entre 0 e 1023 usando a função random() e o armazena no nome da variável valoraleatório .

O Serial.print() função é então usada para imprimir a etiqueta “ Valor aleatório: ” para o monitor serial, seguido pelo valor aleatório real, que é impresso na mesma linha sem um caractere de nova linha usando Serial.print() .

O atraso() A função é usada para pausar a execução do loop por 2000 milissegundos (2 segundos).

Saída
Na saída, podemos ver que todos os valores são impressos em uma única linha sem nenhuma quebra de linha.

Serial.println() Exemplo

O código fornecido demonstra o uso do Serial.println() função no Arduino.

anular configuração ( ) {
Serial.begin ( 9600 ) ; // inicializar a comunicação serial em 9600 taxa de transmissão
}

loop vazio ( ) {
int randomValue = aleatório ( 0 , 1023 ) ; // gerar um valor aleatório entre 0 e 1023

Serial.print ( 'Valor aleatório: ' ) ; // imprimir a etiqueta
Serial.println ( valoraleatório ) ; // imprimir o valor aleatório em uma nova linha

atraso ( 2000 ) ; // espere para 500 milissegundos antes de imprimir novamente
}

O código para Serial.println() é semelhante ao anterior Serial.print() código. A única diferença aqui são os valores aleatórios que são gerados e impressos com uma quebra de linha que está faltando no Serial.print() código.

Saída
Todos os valores são impressos em uma nova linha como usamos Serial.print() em vez de Serial.println() :

Conclusão

Comunicação em série é um aspecto essencial da programação do Arduino. O Serial.print() e Serial.println() funções são úteis para mostrar dados no terminal Arduino Serial. Compreender a diferença entre eles e usá-los adequadamente pode ajudá-lo a depurar seu código e se comunicar com dispositivos externos.