AULA 4 - Microcontroladores - Técnico

De IFSC
Revisão de 20h13min de 21 de outubro de 2015 por imported>Fargoud
Ir para navegação Ir para pesquisar

Comunicação Serial

Apesar do Arduino ser gravado via porta USB, a comunicação se dá como serial padrão (USART). O ATmega328 permite comunicação serial no padrão UART TTL (5 V), que está disponível nos pinos digitais 0 (RX) e 1 (TX). Um chip FTDI FT232RL na placa encaminha esta comunicação serial através da USB e os drivers FTDI (incluído no software do Arduino) fornecem uma porta virtual para o software no computador.

O software Arduino inclui um Monitor Serial que permite que dados simples de texto sejam enviados e recebidos à placa Arduino.

Os LEDs RX e TX da placa piscam quando os dados estão sendo transferidos ao computador pelo chip FTDI e há conexão USB (mas não quando há comunicação serial pelos pinos 0 e 1).

A biblioteca SoftwareSerial permite comunicação serial por quaisquer dos pinos digitais do Uno.

O ATmega328 também oferece suporte aos padrões de comunicação I2C (TWI) e SPI.

O software do Arduino inclui uma biblioteca Wire para simplificar o uso do barramento I2C.

Para usar a comunicação SPI, veja o manual do ATmega328.

Assim, no Arduino existe uma parte do hardware especifica para a conversão Serial/USB.

Disso resulta a criação de uma porta COM virtual no computador para a comunicação com o Arduino.

Comunser.jpg

Como a comunicação é a serial padrão, é fácil trocar informações entre o computador e o Arduino.

Existe uma ferramenta própria na IDE do Arduino para a comunicação serial.

Monitorserial.jpg

Nosso primeiro teste de uso do Monitor Serial vai ser um circuito e programação que acionam dois leds, conforme a montagem abaixo:

Circserial1.jpg

Agora, abra a IDE do Arduino e escreva/compile/carregue a seguinte programação:


 char c;
 void setup(){
   pinMode(2,OUTPUT);
   pinMode(3,OUTPUT);
   Serial.begin(9600);
 }
 void loop()
 {
   if (Serial.available()>0)
   {
     c = Serial.read() - '0';
     Serial.flush();
     digitalWrite(c,!digitalRead(c));
   }
 }


Conecte o Arduino no PC, selecione a versão do seu Arduino (UNO, Duemilanove, etc) e porta (COMx, ttyUSBx, ttyACMx) e clique em UPLOAD. Abra o Serial Monitor e selecione 9600 no baud.

Ao digitar o número 2 no Serial Monitor, irá acender o LED conectado na porta digital 2 do Arduino, e ao digitar novamente o número 2, o LED apagará. Agora se digitar o número 3, irá acender o LED da porta digital 3 e se digitar novamente o número 3, o LED apagará.

E é isso! Bem simples! :)


No segundo teste, vamos acionar, acender e apagar, o led do pino 13 através de comandos de teclado do PC, na interface Serial Monitor, do Arduino.

A programação também é simples e bem interessante.

Primeiramente, faça as ligações como mostrado abaixo:


Código:

Progserial.jpg

<< Página do curso

Leitura das portas digitais AULA 4 - Uso da comunicação serial Leitura e escrita nas portas analógicas>>