Você deseja aprender a como utilizar o bluetooth Arduino através de uma rede wireless fácil e eficiente para aplicar em seus projetos?
Então, neste artigo abordaremos sobre o protocolo bluetooth e o módulo HC-05 que junto com o Arduino utiliza esse meio de comunicação para transmitir dados entre dispositivos sem utilizar fios.
Além da teoria e informações técnicas necessárias para utilizar este módulo, também faremos um projeto utilizando o bluetooth Arduino através de um celular com Android para controlar uma sequência de LEDs através do aplicativo Bluetooth Automation HC-05 da MightyIT.
👨💻 Comprar Agora – Kit Iniciante Arduino com Tutorial e + 20 Projetos ✅
O QUE É O BLUTOOTH ARDUINO E COMO FUNCIONA?
Bluetooth é o nome dado a um protocolo de comunicação sem fio, que utiliza frequências de 2,402 GHz à 2,48 GHz, lançado em 1999 na sua versão 1.0, com o intuito de substituir alguns usos da transmissão de dados utilizando cabo.
A comunicação bluetooth é voltada para uma distância de curto alcance, chegando em alguns casos a transmitir dados entre dispositivos situados à 100m de distância
A transmissão bluetooth é hoje muito utilizada em eletroeletrônicos como celulares, notebooks, caixas de som e até nos automóveis por exemplo, porém é cada vez mais utilizada no ramo industrial e de automação com os termos BLE 5.0.
- Você também pode se interessar: Módulo RFID Arduino – Como Controlar?
ESPECIFICAÇÕES TÉCNICAS DO MÓDULO BLUETOOTH ARDUINO HC-05
O módulo HC-05 integra componentes que permitem utilizar a comunicação bluetooth, tanto em dispositivos mestres, bem como dispositivos escravos.
No exemplo deste artigo usaremos o Arduino como dispositivo escravo por que ele apenas fornece dados, e o celular como mestre, por que ele requere dados de outro dispositivo.
Apesar de ser um módulo bem simples de se usar, existem alguns detalhes que precisam ser levados em consideração, como o nível de tensão nos pinos de transmissão de dados, que no módulo HC- 05 operam em 3.3V, enquanto no Arduino operam em 5V.
Os pinos do módulo bluetooth Arduino são exibidos na figura a seguir:
Pino | Definição |
Enable | Habilita comando AT em nível alto |
VCC | Alimentação positiva (3.6V – 6V) |
GND | Alimentação negativa |
TXD | Transmissor de dados |
RXD | Recebedor de dados |
State | Auxiliar para LED indicador |
Diferença entre o Módulo Bluetooth HC-05 e o HC-06
No mercado existem vários módulos que podem fazer o intermédio entre um dispositivo e outro, porém na mesma família deste módulo bluetooth Arduino que estamos utilizando, existem outros modelos extremamente semelhantes, o que pode gerar certa confusão na hora de utiliza-lo
A maior semelhança está entre o módulo HC-05 e o HC-06, que são módulos com diferentes propostas, porém existe uma diferença que permite distingui-los que é a quantidade de pinos. Enquanto o modelo 05 tem 6 pinos, o 06 possui apenas 4 pinos como é mostrado na imagem a seguir.
Veja também o tutorial sobre Como Usar o Servo Motor Com Arduino – Guia Prático
MONTAGEM DO CIRCUITO DO PROJETO
Para testar este módulo faremos o seguinte projeto: Utilizando um aplicativo disponível no Google Play (o Bluetooth Automation HC-05), faremos o controle de 7 LEDs através do celular, ligando e desligando o LED desejado.
Lista de Componentes
- 7 – Resistor 330 Ohm
- 1 – Resistor 2K Ohm
- 1 – Resistor 1K Ohm
- 7 – Leds
- 1 – Módulo HC-05
- 1 – Arduino UNO
- 1 – Celular com Android
- 1 – Protoboard
- Cabos macho-macho
A montagem deste circuito é exemplificada pela figura a seguir:
É importante que entre o pino 1 (TX) do Arduino e o RXD do módulo HC-05 exista esse divisor de tensão com os resistores de 1K e 2K Ohm, para que o nível de tensão sobre a comunicação seja 3.3V.
Assim que o circuito estiver montado, podemos passar para a gravação do código que permitirá controlar os LEDs.
CÓDIGO DO BLUETOOTH ARDUINO
Para realizar a gravação deste código é importante que os Pinos RX e TX do Arduino não estejam conectados ao módulo bluetooth Arduino por enquanto, o Arduino utiliza estes pinos para realizar esta gravação.
[CÓDGIO USADO]
// Definição dos pinos dos LEDs #define D2 2 #define D3 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7 #define D8 8 #define D9 9 // Declaração de variável global que vai receber os dados Bluetooth char dados; void setup() { // Inicializa a serial do arduino Serial.begin(9600); /*To start serial communication at a rate of 9600 bits per second. This is the default rate anyways.*/ // Definição dos pinos dos LEDs como saída iniciando desligados pinMode(D2, OUTPUT); digitalWrite(D2, LOW); pinMode(D3, OUTPUT); digitalWrite(D3, LOW); pinMode(D4, OUTPUT); digitalWrite(D4, LOW); pinMode(D5, OUTPUT); digitalWrite(D5, LOW); pinMode(D6, OUTPUT); digitalWrite(D6, LOW); pinMode(D7, OUTPUT); digitalWrite(D7, LOW); pinMode(D8, OUTPUT); digitalWrite(D8, LOW); pinMode(D9, OUTPUT); digitalWrite(D9, LOW); } void loop(){ // Verifica se existe algum dado disponível na serial while(Serial.available()>0){ // Caso houver a variável dados recebe este valor dados = Serial.read(); // Printa o valor recebido na serial Serial.println(dados); //Espera por 15 ms delay(15); // Este trecho define qual LED deve acender ou apagar de acordo com o dado recebido // Se a letra recebida for maiuscula, o LED acende // Se a letra recebida for minuscula, o LED apaga switch(dados){ case 'A': digitalWrite(D2, HIGH); break; case 'B': digitalWrite(D3, HIGH); break; case 'C': digitalWrite(D4, HIGH); break; case 'D': digitalWrite(D5, HIGH); break; case 'E': digitalWrite(D6, HIGH); break; case 'F': digitalWrite(D7, HIGH); break; case 'G': digitalWrite(D8, HIGH); break; case 'a': digitalWrite(D2, LOW); break; case 'b': digitalWrite(D3, LOW); break; case 'c': digitalWrite(D4, LOW); break; case 'd': digitalWrite(D5, LOW); break; case 'e': digitalWrite(D6, LOW); break; case 'f': digitalWrite(D7, LOW); break; case 'g': digitalWrite(D8, LOW); break; default: break; } } }
O padrão de letras foi escolhido como está no código, pois o app que determinamos para este projeto envia esse tipo de caracteres na serial do bluetooth, porém qualquer outra informação ou código pode ser enviado desde que você utilize um terminal bluetooth ou outro app.
APLICATIVO BLUETOOTH AUTOMATION HC-05
Para acessar o aplicativo devemos acessar a aplicativo Google Play, no campo de pesquisa inserir Bluetooth Automation HC-05 e instala-lo, assim como descrito na imagem a seguir:
Antes de prosseguir é importante que o Arduino esteja com o código devidamente gravado, pois como o módulo HC-05 utiliza os mesmos pinos RX, TX de gravação do Arduino, não é possível gravá-lo com estes pinos ligados ao HC-05.
Assim que baixado o app, faremos o pareamento com o módulo HC-05 com o bluetooth do celular através do próprio sistema do celular.
Se o circuito estiver montado corretamente e o Arduino estiver gravado o nome do dispositivo no bluetooth será HC-05 e a senha de pareamento “1234”.
Com o dispositivo pareado, podemos abrir o aplicativo, que já na primeira tela exibirá qual dispositivo você deseja conectar.
Note que outros dispositivos que você já se conectou com seu celular aparecerão na lista. Escolha o HC-05 como na imagem:
Neste momento o HC-05 estará piscando rapidamente, o que significa que nenhum dispositivo está conectado ainda.
Quando for conectado, o módulo bluetooth começará a piscar lentamente e significa que o dispositivo está pronto para operar.
No próprio app aparecerá uma bolinha vermelha ou verde sinalizando como está a situação da conexão.
Se você seguiu passo a passo deste tutorial, o resultado que você terá deve ser similar ao do vídeo a seguir:
INSERIR VIDEO
CONSIDERAÇÕES FINAIS
Agora que finalizamos esse processo simples de uso deste módulo, somos capazes de interpretar e receber qualquer informação via bluetooth para o Arduino ser capaz de processa-la.
Existe uma infinidade de dados que podem ser transmitidos além destes caracteres que vimos neste artigo, por isso o estudo desta tecnologia e suas aplicações não param por aqui.
Sendo assim, você pode se interessar no projeto estação meteorológica usando o bluetooth Arduino [PROJETO EM BREVE]
Caso você ainda possua dificuldade com programação e eletrônica, recomendo se matricular em algum Curso de Arduino que seja pago ou gratuito. Assim você economiza tempo e dinheiro com um professor que irá te mostrar o caminho mais rápido para aprender Arduino.
Agradeço por ter acompanhado na integra este artigo, espero ter ajudado você a entender melhor sobre o módulo bluetooth Arduino. Obrigado e até a próxima!
Comments