Arduino tem uma maneira flexível de transferir dados entre dispositivos e PCs. Arduino usa um protocolo serial conhecido como USART para se comunicar entre esses dispositivos. O uso do USART Arduino pode receber entrada e saídas de sensores como GPS, GSM, RFID e outros sensores. Todos os dispositivos que suportam a comunicação serial podem ser conectados ao Arduino, que melhora a compatibilidade geral do Arduino e o uso extensivo em projetos eletrônicos.
USART em Arduino Uno
O USART também é conhecido como transmissor de receptor síncrono/assíncrono universal; O USART é um protocolo de comunicação serial usado nos microcontroladores AVR ATMEGA. Arduino usa este protocolo para transmitir e receber dados de dispositivos, sensores e PCs. O UART transmite e recebe dados na forma de bits com referência ao pulso do relógio. Ele pode transferir um pouco de cada vez em um único fio.
Arduino USART PINS
A maioria das placas Arduino tem dois pinos TX e RX, que são usados para dispositivos de comunicação serial.
Algumas das principais especificações técnicas dos pinos do USART são destacadas nos pontos mencionados abaixo:
Recursos do USART no ATMEGA328
O receptor e transmissor síncrono e assíncrono universal são uma maneira altamente compatível e flexível de comunicação em série entre diferentes dispositivos. Os principais recursos do USART são:
ATMEGA328P CHIP | Nome do Pin Arduino Uno | Descrição do Arduino | Funções |
PD0 | Rx/d0 | Pino Digital IO 0 | Pino rx serial |
PD1 | TX/D1 | Pino digital IO 1 | Pino TX em série |
PD4 | D4 | Pino Digital IO 4 | Timer (T0/XCK) |
Modos de operação
O microcontrolador Arduino AVR opera em três modos:
Modo normal assíncrono
Durante esse modo.
Modo de velocidade dupla assíncrona
Durante esse modo, a velocidade de transferência de dados se torna o dobro da taxa de transmissão. Esta taxa de transmissão é definida dentro do registro UBBR. Esta é a comunicação de alta velocidade usada, onde são necessários dados e recebimentos precisos e rápidos.
Modo síncrono
Como o nome mostra síncrono, o que significa que os dados são sincronizados com pulsos de relógio. Durante este modo, os dados são transmitidos ou recebidos com os pulsos de relógio definidos no registro UCSRC.
Transmitir dados usando USART
Nome da string;
Void Setup ()
Serial.começar (9600);
atraso (1000);
Serial.println ("Qual é o seu nome?");
Void Loop ()
se (serial.disponível())
nome = serial.readstringuntil ('\ n');
Serial.println ("Prazer em conhecê -lo" + nome + "!");
No código acima, inicializamos uma string "nome" que armazenará a entrada do usuário e o mostrará no monitor serial.
Serial.BEGIN (9600) inicializará a comunicação do USART com uma taxa de transmissão definida. Duas funções importantes Serial.disponível() e Serial.ReadStringuntil () são usados no programa acima.
Serial.Disponível retornará vários caracteres na forma de bytes que foram lidos. O Serial.Readstringuntil A função tornará possível combinar todos os caracteres de entrada do usuário e a saída será exibida de uma maneira mais proeminente.
Saída do monitor serial
Controlando LED usando USART
Agora, usando a comunicação serial, controlaremos um LED através de um monitor serial. Conecte a placa Arduino com PC usando o cabo USB B e faça o upload do código abaixo para a placa Arduino.
char inputState;
Void Setup ()
Serial.começar (9600);
pinmode (13, saída);
Void Loop ()
se (serial.disponível ()> 0)
inputState = (char) serial.ler(); // Leia dados seriais
if (inputState == '1') // Verifique a entrada recebida
DigitalWrite (13, alto); // se a entrada for 1 LED será
Serial.print ("dados de entrada recebidos é:");
Serial.println (inputState);
else if (inputState == '0')
DigitalWrite (13, baixo); // se a entrada for 0 LED desligará
Serial.print ("dados de entrada recebidos é:");
Serial.println (inputState);
No início do código, iniciamos um Caracteres variável estado de entrada que armazenará a entrada do monitor serial.
Serial.começar (9600);
Esta função inicializará a comunicação serial entre a placa Arduino e o PC.
Serial.disponível()
O Serial.disponível() a função procurará o número de bytes disponíveis para ler. Nós usamos um se condição Aqui, que verificará os dados de serial de entrada se os dados de serial de entrada for 1 Arduino definirá o LED no pino 13 como alto e o LED ligará. Se a entrada for 0 Arduino definirá o LED no pino 13 como baixo e o LED desligará.
Saída do monitor serial
Saída de LED
LED ligará na entrada 1 e desligará na entrada 0.
Portanto, controlamos o LED usando a comunicação USART entre Arduino e PC.
Conclusão
O USART pode ser muito útil em projetos de Arduino. Ele permite que o Arduino interface vários dispositivos. Saber sobre o USART ajudará na comunicação entre Arduino e vários dispositivos. Neste artigo, concluímos dois códigos Arduino. Primeiro, enviamos uma string para o Arduino e a exibimos sobre o monitor serial e, no segundo código, temos controle LED usando o USART Comunicação serial.