Configuração do módulo bluetooth HC-06
-
Upload
emelchiors -
Category
Education
-
view
85 -
download
1
Transcript of Configuração do módulo bluetooth HC-06
![Page 1: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/1.jpg)
Configuração do módulo bluetooth HC-06 com Arduino
O módulo Bluetooth HC-06 é usado para comunicação wireless entre o Arduino e algum outro
dispositivo com bluetooth, como por exemplo um telefone celular, um computador ou tablet. As
informações recebidas pelo módulo são repassadas ao Arduino (ou outro microcontrolador) via serial.
O alcance do módulo segue o padrão da comunicação bluetooth, que é de aproximadamente 10 metros.
Esse módulo funciona apenas em modo slave(escravo), ou seja, ele permite que outros dispositivos
se conectem à ele, mas não permite que ele próprio se conecte à outros dispositivos bluetooth.
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.
O nível lógico dos pinos RX e TX é de 3.3v, o que significa que, para o Arduino Uno, por exemplo, vamos
precisar de um divisor de tensão no pino RX para evitar que o módulo seja danificado. Isso é necessário
pois o Arduino Uno trabalha com nível de sinal de 5v.
Você pode montar facilmente um divisor de tensão utilizando dois resistores e a calculadora desse link.
Coloque o valor dos resistores que você possui nos camposR1 e R2, coloque a tensão de entrada (que
é de 5v), e clique em COMPUTE para mostrar a tensão de saída, que deve ser de no máximo 3.3v.
![Page 2: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/2.jpg)
No circuito abaixo, que vamos utilizar para configurar o HC-06, utilizamos um resistor de 470 e outro
de 680 ohms.
Nesse circuito, vamos utilizar as portas 6 e 7 do Arduino como RX e TX para comunicação com o
módulo.
Configuração dos parâmetros do módulo HC-06
A configuração do módulo bluetooth se dá por uma série de comandos AT, que vamos enviar pelo serial
monitor.
![Page 3: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/3.jpg)
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 6 e 7), que chamaremos deMinhaSerial. 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:
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637
//Programa : Modulo bluetooth HC-06 - Configuracao//Autor : Adilson Thomsen
//Carrega a biblioteca SoftwareSerial#include <SoftwareSerial.h>
//Define os pinos para a serial (RX, TX)SoftwareSerial MinhaSerial(6,7);String command = "";
void setup(){ //Inicia a serial Serial.begin(115200); Serial.println("Digite os comandos AT :"); //Inicia a serial configurada nas portas 6 e 7 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“:
![Page 4: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/4.jpg)
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:
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:
Comando Resposta Função
AT OK Teste de comunicação
AT+VERSION OKlinvorV1.8 Mostra a versão do firmware
AT+NAMExyz OKsetname Altera o nome do módulo
AT+PIN1234 OKsetPIN Altera a senha do módulo
AT+BAUD1 OK1200 Seta o baud rate em 1200
AT+BAUD2 OK2400 Seta o baud rate em 2400
AT+BAUD3 OK4800 Seta o baud rate em 4800
AT+BAUD4 OK9600 Seta o baud rate em 9600
AT+BAUD5 OK19200 Seta o baud rate em 19200
AT+BAUD6 OK38400 Seta o baud rate em 38400
![Page 5: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/5.jpg)
AT+BAUD7 OK57600 Seta o baud rate em 57600
AT+BAUD8 OK115200 Seta o baud rate em 115200
AT+BAUD9 OK230400 Seta o baud rate em 230400
AT+BAUDA OK460800 Seta o baud rate em 460800
AT+BAUDB OK921600 Seta o baud rate em 921600
AT+BAUDC OK1382400 Seta o baud rate em 1382400
Não recomendamos configurar a velocidade da serial (baud rate), com valor acima de 38400 para
utilização com Arduino. Velocidades acima desse valor só devem ser utilizadas em casos específicos,
com o hardware apropriado.
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 agora ligado aos pinos 0 (RX) e 1 (TX) do Arduino,
e três leds nas portas 3, 4 e 5:
Desligue a alimentação do módulo bluetooth para transferir o programa:
1 2
//Programa : Modulo Bluetooth HC-06 - Leds//Autor : Adilson Thomsen
![Page 6: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/6.jpg)
3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041
//Armazena o caracter recebidochar buf;
void setup(){ //Define os pinos dos leds como saida pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); Serial.begin(9600);}
void loop(){ while(Serial.available() > 0) { buf = Serial.read(); //Caso seja recebido R, acende o led vermelho if (buf == 'R') { digitalWrite(3, HIGH); Serial.println("LED Vermelho ligado !"); } //Caso seja recebido G, acende o led verde if (buf == 'G') { digitalWrite(4, HIGH); Serial.println("LED Verde ligado !"); } //Caso seja recebido B, acende o led azul if (buf == 'B') { digitalWrite(5, HIGH); Serial.println("LED Azul ligado !"); }
}}
Nesse ponto podemos ligar novamente a alimentação do HC-06. Vamos enviar comandos para o
Arduino utilizando um celular com Android e o programa Bluetooth SPP, que você encontra nesse
link.
Instale o Bluetooth SPP no seu aparelho e carregue o programa, que ao inicializar já faz uma varredura e
mostra os dispositivos bluetooth detectados :
![Page 7: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/7.jpg)
Selecione o dispositivo ao qual você quer se conectar (no nosso caso, o dispositivo BUILDBOT), e na
tela seguinte clique em CONNECT :
![Page 8: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/8.jpg)
Se o dispositivo não estiver pareado, será solicitada a digitação da senha do módulo. Se a conexão
estiver OK, será apresentada esta tela :
![Page 9: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/9.jpg)
Selecione CMD line mode para entrar no modo de console, onde você poderá enviar comandos ao
módulo bluetooth. Nessa tela, digite o caractere R e selecione ENVIAR, no canto inferior direito. O
Arduino interpretará o caractere que foi recebido e irá acender o led correspondente:
![Page 10: Configuração do módulo bluetooth HC-06](https://reader036.fdocuments.net/reader036/viewer/2022082705/55b54267bb61eb403a8b4602/html5/thumbnails/10.jpg)
Veja na área destacada acima que a comunicação é bidirecional, ou seja, o Arduino também envia para
o celular uma string indicando que o comando foi recebido (Led Vermelho ligado!).
Envie o caractere G para acender o led verde ligado à porta 4, e B para acender o led azul ligado à porta
5.
http://buildbot.com.br/blog/configuracao-do-modulo-bluetooth-hc-06-com-arduino/?utm_source=e-goi&utm_medium=email&utm_term=Como+usar+Bluetooth+HC-06%2C+Drone+da+CNN%2C+Algoritmo+do+MIT+e+mais&utm_campaign=Main