AULA 4 - Microcontroladores - Técnico: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Fargoud
imported>Fargoud
Sem resumo de edição
Linha 62: Linha 62:


E é isso! Bem simples! :)
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.  
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.  

Edição das 20h13min de 21 de outubro de 2015

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>>