Roteiro de funcionamento do Módulo Bluetooth HC-05 Master/Slave por meio do acionamento de Led’s via celular e demonstrativo da ativação dos modos AT e Comunicação.
Organização do roteiro:
- Teste do Módulo Bluetooth HC-05 Master/Slave por meio do acionamento de Led’s via celular, demonstrando a atuação no modo de Comunicação. (PÁG 1)
- Teste do Módulo Bluetooth HC-05 Master/Slave por meio do demonstrativo da ativação dos modos AT e Comunicação. (PÁG 4)
- Software de ativação dos modos AT e Comunicação no Módulo Bluethooth HC-05 Master/Slave. (PÁG 5)
- Software de acionamento de Led’s via celular utilizando o Módulo Bluetooth HC-05 Master/Slave. (PÁG 6)
O vídeo com o demonstrativo de funcionamento das duas formas de teste pode ser acessado clicando aqui!
Teste do Módulo Bluetooth HC-05 Master/Slave por meio do acionamento de Led’s via celular, demonstrando a atuação no modo de Comunicação.
Para o acionamento de Led’s via celular utilizando o Módulo Bluetooth HC-05 Master/Slave serão necessários para a montagem do circuito:
1 Módulo Bluetooth HC-05 Master/Slave
7 Led’s
7 Resistores de 220 Ohms (vermelho, vermelho, marrom dourado)
1 Resistor de 1K Ohms (marrom, preto, vermelho e dourado)
1 Resistor de 2,2K Ohms (vermelho, vermelho, vermelho dourado)
Esquema eletrônico do acionamento de Led’s via Módulo Bluetooth HC-05 Master/Slave:
Após a montagem como no esquemático acima, deve ser feito o pareamento do bluetooth do seu aparelho smartphone com o módulo HC-05. Para isso, basta ativar o bluetooth do celular e selecionar “Parear novo dispositivo”, a procura irá retornar o bluetooth do módulo, geralmente de nome HC-05; ao seleciona-lo, uma senha será requisitada, essa senha geralmente é 0000, ou 1234. Digite 1234 e clique em OK.
Agora, faça o download do software de comunicação Bluetooth na loja play store em seu smartphone. O aplicativo de comunicação Bluetooth utilizado nesse teste foi o Bluetooth SPP Manager, demonstrado a seguir:
Após a instalação do aplicativo, deve-se fazer upload da programação de funcionamento para o arduíno. A programação efetuada está disponibilizada na descrição desse módulo, em Software de acionamento de Led’s via celular utilizando o Módulo Bluetooth HC-05 Master/Slave.
Funcionamento do projeto:
Abra o aplicativo Bluetooth SPP Manager; na aba Devices selecione o Device:HC-05 e aguarde até que a conexão seja estabilizada. Será exibido connecting referente a conectando, e se tudo ocorrer como o esperado, a conexão será estabilizada exibindo connection established como a seguir:
Com a conexão estabilizada, na aba Bt Messenger Digite as letras maiúsculas de “A” à “G” para acender o led referente a ele. Como nos exemplos a seguir, “A” acende o último LED, “B” acende o penúltimo e assim por diante.
A imagem a seguir demonstra o comando enviado com todas as letras maiúsculas referente a todos os leds, acionando assim, todos os 7 led’s.
Digite as letras minúsculas para apagar o led referente a ele. Como nos exemplos a seguir, “a” apaga o último LED, “b” apaga o penúltimo e assim por diante.
Já para o desligamento de todos os leds basta enviar o comando minúsculo de todas as letras de “a” à “g” referente a todos os leds, assim, todos os 7 led’s serão apagados juntamente, como pode ser visto a seguir:
Teste do Módulo Bluetooth HC-05 Master/Slave por meio do demonstrativo da ativação dos modos AT e Comunicação.
Organização do roteiro de Teste do Módulo Bluetooth HC-05 Master/Slave por meio do demonstrativo da ativação dos modos AT e Comunicação.
- Detalhamento MODO AT.
- Acesso a tabela de comandos AT, e ao vídeo explicativo.
- Esquema eletrônico de conexão para ativação do modo AT no Módulo Bluetooth HC-05 Master/Slave.
- Software de ativação dos modos AT e Comunicação no Módulo Bluethooth HC-05 Master/Slave.
__________________________ Detalhamento MODO AT _________________________
No monitor serial, em taxa de transmissão, os campos de modo de dados e velocidade devem estar Ambos, NL e CL; e 9600 selecionados inicialmente para utilização da programação disponibilizada. Caso necessite modificar a velocidade de transmissão de 9600 para 38400 no código, essa modificação também deve ser feita no monitor serial, se não a frase “Digite os comandos AT:” não será impressa corretamente, exibindo apenas caracteres sem sentidos.
1.Como chegar ao modo AT.
Modo 1: Retire o fio de alimentação 5V que sai do Arduino para o VCC do módulo, pressione o botão de reset do módulo bluetooth por 5 segundos e ainda segurando o botão, conecte novamente o fio referente ao pino VCC do módulo, no 5V do arduino. O led piscará com intervalo de 2 segundos indicando que o módulo entrou no moto AT.
Modo 2: Retire o fio de alimentação 5V que sai do Arduino para o VCC do módulo, coloque o pino EN (KEY) do módulo em nível baixo. Conecte novamente o fio referente ao pino VCC do módulo, no 5V do arduino. Coloque o Pino EN (KEY ou PIN34) em nível alto. O led piscará com intervalo de 2 segundos indicando que o módulo entrou no moto AT.
Modo 3: Coloque o pino EN(KEY) em nível baixo. Retire o fio de alimentação 5V que sai do Arduino para o VCC do módulo, aguarde por 5 segundos. Conecte o pino EN(KEY) ao PIN 3.3V. Em seguida reconecte o fio de alimentação 5V que sai do Arduino para o VCC do módulo. O módulo entrará no modo AT. Mas neste momento, a taxa de velocidade é 38400. Desta forma, o usuário deve alterar a taxa de transmissão no arduino e no monitor serial.
2. Como voltar ao modo de comunicação:
Modo 1: Insira o nível baixo (LOW) no EN(KEY), em seguida Insira o nível alto (HIGH) no EN(KEY). Assim o módulo entrará no modo de comunicação e pode ser usado para emparelhamento.
Modo 2: Insira o nível baixo (LOW) no EN(KEY), em seguida retire a alimentação VCC, pressione o botão por 3 segundos, e com ele ainda pressionado, conecte novamente o fio referente ao pino VCC do módulo, no 5V do Arduino.
3.Notas.
(1) Os comandos do HC-03 e HC-05 devem terminar com “\r\n”. Significa que quando você terminar a programação, você deve clicar em (“ENTER” ou “0x0d 0x0a”). Já os módulos HC-04 e HC-06 não precisam desse comando final.
(2) Os comandos mais comuns para HC-03 e HC-05 são: AT+NAME (para visualizar ou modificar o nome do módulo), AT+VERSION (para visualizar a verão do firmware), AT+ROLE (set master–slave), AT+CMODE(para definir pareamento de endereços), AT+PSWD (para definir senha). Se você deseja que o módulo mestre tenha a função de conectar com algum módulo escravo em específico e que ele atue sempre sob esse pareamento, o mais maneira simples é: Primeiro, defina AT+CMODE=1. Faça o pareamento do módulo mestre com o módulo escravo. Segundo, defina AT+CMODE=0. Então o módulo mestre só poderá fazer par com aquele módulo escravo especificado.
(3) Quando o pino EN(KEY) mantém o nível alto, todos os comandos podem ser usados. Caso contrário, apenas alguns deles podem ser usados.
2.
_________________ Acesso a tabela de comandos AT, e ao vídeo explicativo_______________
- Para acessar todos os comandos disponíveis no modo AT acesse “Tabela de comandos AT Módulo HC-05” disponibilizada na descrição desse anúncio do Módulo Bluetooth HC-05 Master/Slave, ou clique aqui!
- Para visualizar o vídeo explicativo de todos os passos a serem seguidos clique aqui!
3.
Esquema eletrônico de conexão para ativação do modo AT no Módulo Bluetooth HC-05 Master/Slave
Software de ativação dos modos AT e Comunicação no Módulo Bluethooth HC-05 Master/Slave
/* --------------------------------------------- Eletrodex Eletrônica ----------------------------------------------------
Software de ativação dos modos AT e Comunicação no Módulo Bluethooth HC-05 Master/Slave
---------------------------------------------------------------------------------------------------------------------------------*/
#include <SoftwareSerial.h>
SoftwareSerial BTSerial( 10, 11); // RX | TX
void setup()
{
pinMode(9, OUTPUT); // este pino puxará o pino 34(EN ou KEY) do HC-05 (pino chave) HIGH para mudar o módulo para o modo AT
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Digite os comandos AT:");
BTSerial.begin(38400); // Velocidade padrão do HC-05 no comando AT more
}
void loop()
{
// Continue lendo do HC-05 e envie para o Arduino Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());
// Continue lendo do Arduino Serial Monitor e envie para HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}
Software de acionamento de Led’s via celular utilizando o Módulo Bluetooth HC-05 Master/Slave
/* --------------------------------------------- Eletrodex Eletrônica ----------------------------------------------------
Software de acionamento de Led’s via celular utilizando o Módulo Bluetooth HC-05 Master/Slave
---------------------------------------------------------------------------------------------------------------------------------*/
#include <SoftwareSerial.h>
#define bluetooth Serial
SoftwareSerial mySerial(0, 1); // pinos para comunicação serial
// Conecte o pino RX do módulo no 1(TX) do arduíno uno, e o TX do módulo no pino 0(RX) do arduíno
void setup()
{
pinMode(2, OUTPUT); // Definindo o pino 2 do arduíno como saída de sinal para acionamento do led
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
bluetooth.begin(9600);
mySerial.begin(9600); // Estabelecendo a comunicação
delay(1000);
}
void loop()
{
char dato= bluetooth.read(); // "dato" é o nome da variável que armazena o valor digitado no celular.
switch(dato) //As letras maiúsculas acendem os Leds, e as letras minúsculas apaga os Leds.
{
case 'A': // Se a letra A for digitada, o pino 2 fica em nível alto e o led referente a ele acende.
{
digitalWrite(2, HIGH); // colocando o pino 2 em alto e acendendo o led referente a ele.
break;
}
case 'a': // Se a letra a for digitada, o pino 2 fica em nível baixo e o led referente a ele apaga.
{
digitalWrite(2, LOW); // colocando o pino 2 em baixo e apagando o led referente a ele.
break;
}
case 'B':
{
digitalWrite(3, HIGH);
break;
}
case 'b':
{
digitalWrite(3, LOW);
break;
}
case 'C':
{
digitalWrite(4, HIGH);
break;
}
case 'c':
{
digitalWrite(4, LOW);
break;
}
case 'D':
{
digitalWrite(5, HIGH);
break;
}
case 'd':
{
digitalWrite(5, LOW);
break;
}
case 'E':
{
digitalWrite(6, HIGH);
break;
}
case 'e':
{
digitalWrite(6, LOW);
break;
}
case 'F':
{
digitalWrite(7, HIGH);
break;
}
case 'f':
{
digitalWrite(7, LOW);
break;
}
case 'G':
{
digitalWrite(8, HIGH);
break;
}
case 'g':
{
digitalWrite(8, LOW);
break;
}
}
}