Páginas

AT Comands: Bluetooth HC-5, HC-06 e JY-MCU

Configuração dos módulos bluetooth HC5, HC-06 e JY-MCU com Arduino.










Como funciona o Bluetooth?
O sistema utiliza uma freqüência de rádio de onda curta (2.4 GHz) para criar uma comunicação entre aparelhos habilitados. Como seu alcance é curto e só permite a comunicação entre dispositivos próximos, seu consumo de energia é bem baixo.
A comunicação do Bluetooth se dá através de uma rede chamada piconet, que só permite a conexão de até oito dispositivos. Porém, para aumentar essa quantidade, é possível sobrepor mais piconets, capacitando o aumento de conexões pelo método chamado de scatternet.



O Módulo Bluetooth  é usado para comunicação wireless entre o Arduino e  outro dispositivo com bluetooth, como por exemplo um Smartphone Android.

Características e ligação ao Arduino

O módulo possui 4 pinos : Vcc (alimentação de 3,6 à 6v), GND, RX e TX, os dois últimos utilizados para comunicação com o Arduino via serial.

 

Configuração dos parâmetros do módulo HC-5, HC-06 e JY-MCU.

A configuração do módulo bluetooth se dá por uma série de comandos AT, que vamos enviar pelo serial monitor.
O serial monitor se conecta ao Arduino via porta serial, que por sua vez se conecta ao módulo bluetooth por uma segunda porta (pinos 2 e 3), que chamaremos de MinhaSerial. Essa nova serial foi criada utilizando-se a biblioteca SoftwareSerial, uma biblioteca que permite que você defina outras portas do Arduino como RX e TX.

Carregue este programa no Arduino para execução dos comandos AT Confoguração:
//Modulo bluetooth HC-5, HC-06 e JY-MCU 

//Carrega a biblioteca SoftwareSerial
#include <SoftwareSerial.h>
    
//Define os pinos para a serial  (RX, TX)
SoftwareSerial MinhaSerial(2,3);
String command = "";
    
void setup()  
{ 
  //Inicia a serial 
  Serial.begin(115200); 
  Serial.println("Digite os comandos AT :"); 
  //Inicia a serial configurada nas portas 2 e 3
  MinhaSerial.begin(9600); 
} 
    
void loop() 
{ 
  if (MinhaSerial.available())
  { 
     while(MinhaSerial.available())
     {
       command += (char)MinhaSerial.read(); 
     } 
   Serial.println(command); 
   command = ""; 
  } 
  
  if (Serial.available())
  { 
    delay(10);
    MinhaSerial.write(Serial.read()); 
  } 
}

 

Carregue o serial monitor e configure as caixas no rodapé para sem fim de linha, e o baud rate para 115200, conforme destacado abaixo. Aguarde a mensagem “Digite os comandos AT“:
Serial Monitor - Digitar comandos AT
Para verificar se o módulo está respondendo aos comandos, digite AT (em maiúsculas mesmo) na parte superior da tela e depois clique em ENVIAR:
Serial Monitor - AT
Ao receber a mensagem OK, é sinal de que o comando AT foi processado corretamente pelo módulo e o mesmo está respondendo. Na tabela abaixo temos os comandos AT suportados assim como a função de cada um:
ComandoRespostaFunção
ATOKTeste de comunicação
AT+VERSIONOKlinvorV1.8Mostra a versão do firmware
AT+NAMExyzOKsetnameAltera o nome do módulo
AT+PIN1234OKsetPINAltera a senha do módulo
AT+BAUD1OK1200Seta o baud rate em 1200
AT+BAUD2OK2400Seta o baud rate em 2400
AT+BAUD3OK4800Seta o baud rate em 4800
AT+BAUD4OK9600Seta o baud rate em 9600
AT+BAUD5OK19200Seta o baud rate em 19200
AT+BAUD6OK38400Seta o baud rate em 38400
AT+BAUD7OK57600Seta o baud rate em 57600
AT+BAUD8OK115200Seta o baud rate em 115200
AT+BAUD9OK230400Seta o baud rate em 230400
AT+BAUDAOK460800Seta o baud rate em 460800
AT+BAUDBOK921600Seta o baud rate em 921600
AT+BAUDCOK1382400Seta o baud rate em 1382400


Testando a comunicação com o módulo bluetooth

Depois de configurado, é hora de testar o envio de comandos para acionar as portas do Arduino. Monte o circuito abaixo, composto pelo módulo bluetooth  ligado aos pinos 2 (RX) e 3 (TX) do Arduino, conforme figura abaixo:
Obs.: Note que a ligação RX do bluetooth está ligado ao pino 3(TX) do Arduino e TX do bluetooth está ligado ao pino 2(RX) do Arduino.

Programa Arduino para teste de funcionamento do módulo bluetooth envia caracteres para controle de 4 canais(A-B, C-D, E-F, G-H):

Aqui está o programa exemplo para Arduino utilizado no projeto 
com o aplicativo Arduino Bluetooth RC 4 Channels.
------------------------------------------------------------------------------------------------------------------------------------
 #include <SoftwareSerial.h>//
 SoftwareSerial mySerial(2, 3); // 2-RX, 3-TX

int ch1 = 4;
int ch2 = 5;
int ch3 = 6;
int ch4 = 7;

 void setup()
 {
 mySerial.begin(9600);
 pinMode(ch1, OUTPUT);//Pino digital saída do Arduino(4-ch1);
 pinMode(ch2, OUTPUT);//Pino digital saída do Arduino(5-ch2);
 pinMode(ch3, OUTPUT);//Pino digital saída do Arduino(6-ch3);
 pinMode(ch4, OUTPUT);//Pino digital saída do Arduino(7-ch4);
 }

 void loop() 
{
 char caracter = mySerial.read();
 //--------------------------------ch1---------------------
 if(caracter == 'A')
{
 digitalWrite(ch1,HIGH);
}

if(caracter == 'B')
{
 digitalWrite(ch1,LOW);
}
//---------------------------------ch1----------------------
//---------------------------------ch2---------------------
 if(caracter == 'C')
{
 digitalWrite(ch2,HIGH);
}

if(caracter == 'D')
{
 digitalWrite(ch2,LOW);
}
//---------------------------------ch2----------------------
//---------------------------------ch3---------------------
 if(caracter == 'E')
{
 digitalWrite(ch3,HIGH);
}

if(caracter == 'F')
{
 digitalWrite(ch3,LOW);
}
//---------------------------------ch3----------------------
//---------------------------------ch4---------------------
 if(caracter == 'G')
{
 digitalWrite(ch4,HIGH);
}

if(caracter == 'H')
{
 digitalWrite(ch4,LOW);
}
//---------------------------------ch4----------------------
 delay(10);
}

O aplicativo para testes do módule bluetooth está no Google Play
Arduino_Bluetooth_RC_4_Channels:


Nenhum comentário:

Postar um comentário