Pular para o conteúdo principal

Controlando LED via Bluetooth utilizando o Módulo HC-05

Hoje abordaremos uma breve demonstração de conexão do Módulo Bluetooth HC-05 Master/Slave com um dispositivo externo, e após a conexão utilizar o dispositivo para controlar um LED.
A Placa Base utilizada como controladora é a Arduino Uno, que foi utilizada em conjunto com o Protoshield compatível com a mesma. Todos os itens utilizados podem ser adquiridos em nossa loja.

Note que o Módulo Bluetooth HC-05 Master/Slave possui níveis de tensão de alimentação e operação diferentes, sendo que pode ser alimentado com  uma tensão entre 3,3v e 6v (no projeto foi alimentado com 5v, direto de um dos pinos do Arduino Uno), mas a sua tensão de operação é de 3,3v.

IMPORTANTE:   O Arduino consegue reconhecer a tensão de 3,3v no terminal RX como nível lógico alto, mas somente fornece 5v no terminal Tx como nível lógico alto. Portanto, se for utilizar os terminais Rx e Tx para a comunicação com os terminais Tx e Rx do HC-05,  o terminal Tx do HC-05 pode ser conectado diretamente ao terminal Rx do Arduino, porém, NÃO CONECTE DIRETAMENTE O PINO Rx DO HC-05 NO ARDUINO, É NECESSÁRIO FAZER A LIGAÇÃO ATRAVÉS DE UM DIVISOR DE TENSÃO, CASO NÃO O FAÇA ESTA SOB RISCO DE DANIFICAR O SEU MÓDULO.

Baixe aqui o sketch com a programação do Arduino para esse projeto.
Código fonte do exemplo:
// Basic bluetooth test sketch
//
// Lembre-se de remover a alimentação do módulo bluetooth antes de fazer o upload.
 
char serialByte;
const int  LEDPIN = 13; 
const int  yellow = 11;


void setup() 
{
    // Match the baud rate of the bluetooth module.
    Serial.begin(9600); 
    pinMode(LEDPIN, OUTPUT);
    pinMode(yellow, OUTPUT);
    
    Serial.println("1 to turn on the LED on PIN 13");
    Serial.println("0 to turn off the LED on PIN 13");
}
 
void loop() 
{
 
    // wait until data is available
    while (!Serial.available());  
 
    // read next available byte
    serialByte = Serial.read(); 
 
    
    if( serialByte == '1' ) digitalWrite(LEDPIN, HIGH);// If the byte is a 1 turn on the LED
 
    else if ( serialByte == '2' )
    {
      digitalWrite(yellow, HIGH); 
    }
    else if ( serialByte == '0' )
    { 
    digitalWrite(LEDPIN, LOW);
    digitalWrite(yellow, LOW); 
    } // If the byte is a 0 turn off the LED
 
    else 
    {
      Serial.print(serialByte);
      Serial.println();
    }
    delay(100);
}

Conexões:
GND do HC-05 conectado ao GND do Arduino
VCC do HC-05 conectado ao 5V do Arduino
Tx do HC-05 conectado ao Rx do Arduino
Rx do HC-05 conectado ao Tx do Arduino através de um divisor de tensão
Terminal negativo do LED ao GND do Arduino
Terminal positivo do LED ao pino 13 do Arduino (utilizar resistor apropriado)
NOTA: o LED não é necessário, pois o Arduino já possui um LED conectado ao pino 13. Foi adicionado com a função de tornar mais fácil a visualização no vídeo.


Diagrama de conexão ao Arduino UNO em protoboard
 
Esquema de ligação do Módulo Bluetooth HC-05 Master/Slave


Ao montar e energizar o circuito, o LED do HC-05 piscará rapidamente (algo em torno de 5 vezes por segundo), indicando que está pronto para estabelecer uma conexão.


 
 Circuito montado no Protoshield - vista traseira  
 Circuito montado no Protoshield - vista superior
Circuito montado no Protoshield - vista traseira

Após parear o HC-05 com o seu smartphone ou tablet (o código para pareamento de fábrica é 1234), o LED do HC-05 piscará rapidamente uma vez a aproximadamente cada 2 segundos, indicando uma conexão estável.
O dispositivo utilizado nesse artigo foi um tablet Android, utilizando o software Arduino Total Control free. A interface do programa é constituída de vários ícones de lâmpadas e botões, que podem ser atribuídas a diferentes tarefas.


A conexão com o dispositivo fará que o LED do HC-05 pisque rapidamente 2 vezes a aproximadamente 2 segundos, indicando uma conexão estável e a criação de uma comunicação serial entre eles, muito similar à conexão do Serial Monitor do Arduino IDE.
Após baixar o programa, deve-se configurar o mesmo para estabelecer a conexão com o HC-05 e enviar o dígito "1" ao tocar o botão da lâmpada e "0" ao liberar o botão (destacado em amarelo na figura abaixo).
Para estabelecer a conexão, deve-se clicar no botão Connect (destacado em vermelho na figura abaixo), que vai solicitar que seja escolhida a conexão via bluetooth ou wi-fi. Deve-se selecionar bluetooth e logo após o dispositivo HC-05.



Para configurar o programa para o envio dos dados citados acima deve-se acessar o menu e selecionar a opção"Edit Properties" (destacado em azul)

 

 Segue abaixo um vídeo mostrando o funcionamento do projeto.

 

Conte-nos suas experiências utilizando os produtos adquiridos em  nossa loja!
Até o próximo artigo!

Comentários

  1. Olá boa noite, comprei um HC-06 usei esse post e consegui fazer ele se comunicar, eu queria aproveitar e saber se tem como eu adicionar um PIN nele para se conectar, porque o meu conecta direto, sem pedir nada.

    Desde já agradeço!

    ResponderExcluir
  2. Olá, boa noite!
    Como faço para fazer a programação para acender mais LEDs de forma independente?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Como programar com Programador KIT 3.5 para PIC

Nesta postagem iremos falar sobre o Programador KIT 3.5 O Programador KIT 3.5 é um programador para microcontroladores PIC bastante completo, até o momento compatível com  mais de 600 dispositivos da linha de microcontroladores da Microchip, incluindo a nova linha dsPIC. (Confira aqu i a lista com os microcontroladores compatíveis com o Kit 3.5) Permite a programação diretamente na placa (ICSP) ou então através de conectores ZIF (não inclusos). Detalhe para a interface ICSP Com ele é possível gravar (programar), ler, verificar e copiar os códigos dos microcontroladores, através do software gratuito PicKit 3 Programmer ( instruções de uso ), uma vez que ele é totalmente compatível com o PICkit3. Lembrando que este software é apenas para a gravação do arquivo HEX no seu microcontrolador, sendo que é necessário gerar esse arquivo em um compilador de sua escolha. Além disso, é possível utilizá-lo como ferramenta de depuração (debug) através do software MPLAB. Caract

Utilizando o Programador USB para PIC K150

Nessa postagem iremos demonstrar a utilização do Programador USB para PIC K150 O gravador possui um soquete do tipo ZIF (ZIF - Zero Insertion Force - é um soquete com uma alavanca, que permite a colocação e a retirada dos microcontroladores sem risco de danificar seus terminais) para a programação dos microcontroladores. Conta também com um conector para a programação ICSP (In Circuit Serial Programming, que será abordada futuramente em outra postagem, pois é necessário que se faça algumas adaptações no circuito a ser programado). O programador é controlado pelo PIC16F628A, e no site do fabricante do gravador é possível encontrar informações sobre como atualizar o firmware do gravador, para possibilitar a gravação de mais dispositivos. Instalação do Programador USB para PIC K150 Se você estiver utilizando o Windows 7/Vista/XP, o driver deve ser instalado normalmente, sem que seja necessária a interferência do usuário. Caso esteja utilizando o Windows 8/8.1, o processo é um po