Módulo Bluetooth Master HC-05 com programação Arduino

Índice

HC-05 Bluetooth Module

Apresentação do módulo Bluetooth HC-05

O módulo Bluetooth HC-05 é um módulo sem fio de baixa potência usado para comunicação sem fio entre dois dispositivos. Ele opera na banda ISM de 2,4 GHz e pode ser usado para transferir dados e sinais de controle. É amplamente utilizado em robótica, automação residencial e outros aparelhos eletrônicos de consumo. Possui um protocolo de porta serial simples e pode ser usado para conectar dispositivos como smartphones, tablets e computadores entre si. Também pode ser usado para conectar dispositivos a uma rede Wi-Fi doméstica. Um exemplo seria usar o módulo Bluetooth HC-05 para conectar um smartphone a um braço robótico, permitindo que o usuário controle o braço robótico com seu smartphone.

Configuração do pino

O módulo Bluetooth HC-05 é um módulo Bluetooth popular que pode adicionar funcionalidade sem fio bidirecional aos seus projetos. Ele tem 6 pinos: Key, Vcc, GND, TXD, RXD, State.
Esses pinos são usados para enviar dados de um dispositivo para outro. Ele também tem um pino de ativação que permite alternar entre o modo de comando e o modo de dados. O pino Key/EN deve estar alto para operar no modo de comando e baixo para operar no modo de dados. Além disso, os pinos Vcc e Ground são usados para alimentar o módulo, com +5V da tensão de alimentação. Com esses pinos, o HC-05 pode ser usado para uma variedade de aplicações, como registro de dados, aplicações de consumo e robôs sem fio.

HC 05 Bluetooth Module Circuit%20Connections

Diagrama do circuito

Para conectar o módulo Bluetooth HC-05 ao Arduino, você precisa ter um diagrama de circuito. O diagrama de circuito do módulo Bluetooth HC-05 e da conexão com o Arduino é bastante simples e fácil de entender. Ele consiste no módulo Bluetooth HC-05, placa Arduino Uno, placa de ensaio e fios de conexão.

60880abf5482cf6f149ca193552528ebdf1f92a4

Como programar o módulo Bluetooth com Arduino?

Nesta publicação, utilizamos a placa Arduino UNO para programar o módulo Bluetooth HC-05. Geralmente, são necessários dois passos:

  • Configurar o modo AT no módulo Bluetooth
  • Programação e depuração

Configurando o modo AT no módulo Bluetooth HC-05

O objetivo do modo AT é alterar os parâmetros originais do módulo Bluetooth HC-05. Os parâmetros básicos incluem principalmente: nome Bluetooth, modo e senha de correspondência, etc. Obviamente, existem duas maneiras de configurar o modo AT no módulo Bluetooth:

  1. Usando USB-TTL e software de depuração de porta serial
  2. Usando Arduino e módulo Bluetooth

Aqui, apresentamos principalmente o segundo método.

1). Preparando os materiais:

  • ArduinoUNO * 1
  • Módulo de porta serial Bluetooth HC-05 *1
  • Mini luz LED *1
  • Linha Dupont *4

2). Conectando o módulo Bluetooth ao Arduino UNO:

Para configurar o modo AT no módulo Bluetooth, você deve conectar os fios corretamente à placa Arduino UNO:

  • Arduino 5V – VCC
  • Arduino GND – GND
  • Arduino Pin10 – TXD
  • Arduino Pin11 – RXD

Lembre-se de verificar a conexão do circuito antes de ligar a alimentação e evite curto-circuito nos pinos.

Connect the Arduino UNO board and HC-05 bluetooth module

3). Escrevendo código Arduino UNO para o módulo Bluetooth:

Em seguida, precisamos escrever um código de programa para o módulo Bluetooth HC-05 no Arduino IDE. Este programa permite-nos configurar o módulo Bluetooth através do monitor serial no Arduino IDE. O código é o seguinte:

				
					#include <SoftwareSerial.h> 

// Pin10-RX,connectting the TXD of HC05
// Pin11-TX,connectting the RXD of HC05

SoftwareSerial BT(10, 11); 
char val;
void setup() {
  Serial.begin(38400); 
  Serial.println("BT is ready!");

  // HC-05 default,38400

  BT.begin(38400);
}
void loop() {
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}
				
			

4). Depurando código com o monitor serial do IDE do Arduino:

Primeiro, desligue o Arduino UNO, depois pressione e mantenha pressionado o botão preto no módulo Bluetooth e, em seguida, ligue o Arduino.

Se a luz indicadora do módulo Bluetooth piscar a cada 2 segundos, isso significa que o módulo Bluetooth entrou no modo AT corretamente.

Abra o monitor serial do Arduino IDE e selecione a porta correta. Defina o formato de saída como Both: NL & CR e a taxa de transmissão como 38400, e você verá a mensagem BT is ready! exibida no monitor serial.

Em seguida, insira AT. Se tudo estiver normal, o monitor serial exibirá OK.

Open Serial Monitor of Arduino IDE

5). Definição dos comandos AT para o módulo Bluetooth:

Depois que o módulo Bluetooth entrar corretamente no modo AT, podemos adicionar comandos AT a ele. Os comandos AT comuns são os seguintes:

				
					AT                  // check if the module is responding
AT+NAME             // set or get the name of the device
AT+ADDR             // get the Bluetooth address of the module
AT+ROLE             // set or get the role of the module
AT+PSWD             // set or get the password of the device
AT+UART             // set or get the UART interface settings
AT+RESET            // reset the module

				
			

Em circunstâncias normais, após o comando ser enviado, ele retornará OK. Se nenhuma informação for retornada, verifique se a fiação está correta e se o módulo Bluetooth entrou no modo AT.

Após definir o comando AT, reinicie a alimentação. Nesse momento, a luz indicadora do módulo Bluetooth piscará rapidamente, indicando que o módulo Bluetooth entrou no modo de funcionamento normal.

Programação e Depuração

Depois de concluirmos a configuração AT do módulo Bluetooth, podemos começar a programar experimentos nele. Neste experimento, criaremos um programa que permite controlar o efeito da luz do interruptor LED na placa Arduino UNO através do telemóvel.

1). Projeto de circuitos Arduino:

O design do circuito aqui é relativamente simples, principalmente em duas partes:

  • Conexão do Arduino e do módulo HC05
  • Conexão do Arduino e do LED

Há dois pontos a serem observados aqui: o TXD no Arduino deve ser conectado ao terminal RXD no módulo HC05, e o RXD no Arduino deve ser conectado ao TXD no módulo HC05. Na figura abaixo, meu LED está conectado diretamente ao Pin13 do Arduino. Mas, na verdade, você deve considerar se um resistor em série é necessário de acordo com o design da luz LED.

Connect the Arduino UNO board and LED light

2). Adicionando código de programa à placa Arduino UNO:

O código de piscar do LED é o seguinte:

				
					void setup()

{
  // Set the baud rate to 38400

  Serial.begin(38400);
  pinMode(13, OUTPUT);
}
void loop()
{
  while(Serial.available())
  {
    char c=Serial.read();
      if(c=='1')
      {
        Serial.println("BT is ready!");
        
        // Return to the phone debugging program

        Serial.write("Serial--13--high");
        digitalWrite(13, HIGH);
      }
     if(c=='2')
     {
       Serial.write("Serial--13--low");
       digitalWrite(13, LOW);
     }
  }
}
				
			

3). Depurando o programa no celular:

Instalando o software de depuração do módulo da porta serial Bluetooth:

O módulo de porta serial Bluetooth é baseado no protocolo SPP (Serial Port Profile), um dispositivo que pode criar uma porta serial entre dispositivos Bluetooth para transmissão de dados e é amplamente utilizado em dispositivos eletrônicos com funções Bluetooth. Existem diferentes softwares de depuração do módulo de porta serial Bluetooth no lado Android e no lado IOS.

Depurando o programa LED Blink:

Após baixar e instalar o software, primeiro abrimos as configurações de Bluetooth do celular, procuramos e conectamos ao módulo Bluetooth. Em seguida, abrimos o software de depuração da porta serial Bluetooth e permitimos que ele se conecte ao módulo Bluetooth. Agora podemos inserir os seguintes comandos de depuração no software e ver diferentes efeitos:

  • "1" – a luz LED está acesa, retorne Serial–13–high no software de depuração.
  • "2" – o LED está apagado, retorne para Serial–13–low no software de depuração.

Conclusão

Neste artigo, você poderá aprender os conhecimentos básicos e as etapas importantes da programação do módulo Bluetooth HC05 no Arduino.

Inscreva-se

Inscreva-se na nossa lista de assinantes para receber atualizações mensais do blog, notícias sobre tecnologia e estudos de caso. Nunca enviaremos spam e você pode cancelar a assinatura a qualquer momento.

Sobre o autor

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Precisa de ajuda?

Rolar para cima

Instant Quote