0

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.

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.

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:

Pinout bluetooth Arduino
PinoDefinição
EnableHabilita comando AT em nível alto
VCCAlimentação positiva (3.6V – 6V)
GNDAlimentação negativa
TXDTransmissor de dados
RXDRecebedor de dados
StateAuxiliar 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.

Diferença entre dois módulos bluetooth HC-05 e HC-06

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:

Projeto montado com o bluetooth Arduino e LEDs

É 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:

Playstore mostrando o aplicativo chamado AUTOMATION HC-05 e usado para acionar o bluetooth Arduino

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”.

Print do telefone ilustrando a conexão sendo feita com o módulo bluetooth arduino hc-05

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!

Flávio Babos
Estudante de Engenharia Mecatrônica pela Universidade Federal de Uberlândia (UFU), Flávio passa seu tempo empreendendo e estudando sobre eletrônica e tecnologia no geral. Já desenvolveu diversos projetos com Arduino e recentemente atuou na Empresa Júnior do seu curso gerenciando equipes de engenharia no setor de vendas e de projetos.

Aterramento Elétrico: O que é e como fazer?

Previous article

Curso de Manutenção de Celular: Os 3 Melhores Para 2021

Next article

You may also like

Comments

Leave a reply

Your email address will not be published. Required fields are marked *

More in Arduino