Arduino: Comunicacao Serial e Bluetooth

De Wiki Cursos IFPR Foz
Revisão de 19h25min de 20 de junho de 2023 por Evandro.cantu (discussão | contribs)
Ir para navegaçãoIr para pesquisar

Arduíno: Comunicação Serial e Bluetooth

Comunicação Serial

Conceitos sobre comunicação serial e paralela

Comunicação serial e paralela

Comunicação Serial no Arduíno

O Arduíno UNO possui uma porta serial (Serial) (também referida como UART) e se comunica através dos pinos 0 (RX) e 1 (TX), assim como com o computador via USB. Se você utiliza a comunicação serial não pode utilizar os pinos 0 e 1 como entradas e saídas.

Também é possível utilizar o monitor serial, disponível na IDE do Arduíno, para comunicação bidirecional com uma placa Arduíno conectada em uma porta USB.

Não é possível utilizar as portas seriais do Arduíno diretamente em uma comunicação com uma interface RS232, pois esta usa tensões de -12 V e 12 V.

Outras placas Arduíno
  • O Arduíno Leonardo usa a Serial exclusivamente para comunicação com a porta USB. Para comunicação serial nos pinos 0 (RX) and 1 (TX) deve-se utilizar a Serial1.
  • O Arduíno Mega tem três portas de comunicação serial adicionais: Serial1, Serial3 e Serial3.

Laboratório 1: Comunicação serial entre dois Arduínos

Monitor Serial
O monitor serial permite enviar dados do computador ao Arduíno pela interface serial USB.

Procedimentos:

  1. Carregar programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel e acionar o led do pino 13 a partir de comandos H e L enviados pelo monitor serial.
Comunicação entre dois Arduínos

Procedimentos:

  1. Conectar com um par de fios os dois Arduínos através das portas seriais de ambos os microcontroladores: TX->RX e RX<-TX;
  2. Carregar no receptor o programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel;
  3. Carregar no emissor o código abaixo;
  4. Observar a comunicação serial a partir do led piscando no receptor e também monitorar a troca de mensagens a partir do monitor serial.
 //emissor  
 int num = 0;
 void setup(){
  Serial.begin(9600);
 }
 void loop(){
  Serial.write('H');
  delay(2000);
  Serial.write('L');
  delay(2000);
 }
 }

Configuração do SimulIDE para comunicação serial com Arduíno

É possível realizar comunicação serial entre um Arduíno rodando no SinulIDE e um Arduíno conectado a porta USB do computador.

  1. No Arduíno conectado a USB, verificar a partir da IDE a porta de comunicação que está sendo utilizada: ttyACM0 (p.ex.);
  2. No Arduíno no SimulIDE, clicar com o botão direito do mouse sobre a placa e selecionar Open Serial Port;
  3. No bloco Uart que vai abrir, clicar com o botão direito do mouse e selecionar properties;
  4. Escrever em port name o nome da porta serial;
  5. Clicar em Open para ativar a porta (deve indicar sucesso com o botão vermelho).

Comunicação com Módulo Bluetooth

O módulo Bluetooth permite interagir com o Arduíno, por exemplo, utilizando um aplicativo em um smartphone.

Dois módulos Bluetooth bastante utilizados são o HC05 e o HC06. O HC05 pode funcionar como mestre ou escravo. O HC06 somente como escravo. Isto significa que o HC05 pode iniciar conexões com outros dispositivos e o HC06 pode somente aceitar conexões de outros dispositivos [1].

[1]

Pinagem e conexão com o Arduíno

Estes módulos apresentam 6 pinos, mas com apenas 4 pinos é possível colocar o mesmo para funcionar e fazer o Arduíno interagir dispositivos Bluetooth (o HC06 tem conexões apenas com estes 4 pinos).

            _________
           |         |
           |         |
           |         |
           |Bleutooth|
           |         |
           |   HC06  |
           |         |
           |         |
           |_________|
             | | | |
     Vcc ----+ | | +---- Txd
     Gnd ------+ +------ Rxd
  • O pino EN, quando colocado em 0V desabilita o módulo;
  • O pino Status pode ser lido e indica de esta desconectado (LOW) ou conectado (HIGH).
Cuidados com a conexão do módulo Bluetooth HC06 com o Arduíno
  • Os módulos HC05 e HC06 funcionam com alimentação (Vcc) de 3,3V, mas possuem regulador interno e podem ser alimentados com tensão de 5 V;
  • A comunicação serial, entretanto, opera somente com 3,3V, Como o Arduíno opera com 5V, é necessário utilizar um divisor de tensão na entrada Rxd do módulo, conforme exemplo abaixo:

VRxd = R2/(R1 + R2).5
Exemplo:
R1=470 Ω, R2=1 KΩ -> VRxd = 3,4 V

Laboratório: Comunicação serial entre Arduíno com módulo Bluetooth e Android

Permite acender e apagar led a partir de aplicativo Android pareado com módulo Bluetooth rodando em um Arduíno:

Procedimentos
  1. Conectar hardware Bluetooth no Arduíno, utilizando divisor de tensão para adaptar as tensões de comunicação serial;
  2. Carregar programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel;
  3. Instalar em um dispositivo Android o aplicativo Bluetooth Terminal;
  4. Abrir aplicativo Bluetooth Terminal e parear com módulo Bluetooth;
  5. Enviar a partir do Bluetooth Terminal os caracteres H e L para acender a apagar o led 13 do Arduíno.


Smartphone Android

Para enviar caracteres de um Smartphone Android para o módulo Bluetooth pode-se utilizar aplicativos como o Bluetooth Serial Port Terminal ou Bluetooth V2.1 SPP Terminal

Referências


Evandro.cantu (discussão) 16h25min de 20 de junho de 2023 (-03)