- Componentes necessários
- Diagrama de Circuito do Módulo Bluetooth ESP8266 HC-05
- Módulo Bluetooth HC-05
- Usando o Terminal Serial Bluetooth (Aplicativo Android)
- Programação do NodeMCU ESP8266 para fazer a interface Bluetooth
Hoje em dia, o Bluetooth tornou-se parte integrante dos dispositivos digitais e vem embutido na maioria dos dispositivos, como Smartphone, Laptop, PC, Câmera, Relógios, Bandas de Fitness e muitos mais. O Bluetooth sempre foi o protocolo dominante na comunicação sem fio, desde que foi descoberto. Embora a tecnologia Bluetooth seja fundamentalmente um sistema de substituição de cabos, ela também alavanca uma ponte universal para redes de dados existentes e um mecanismo de conexão ad hoc para vários dispositivos em várias configurações. Usamos o módulo Bluetooth HC05 e HC06 com muitos outros microcontroladores para fazer com que eles se comuniquem sem fio:
- Interface de Bluetooth HC-05 com STM32F103C8 Blue Pill: LED de controle
- Interface do módulo HC-05 Bluetooth com microcontrolador AVR
- Robô controlado por Android usando microcontrolador 8051
- Controlando Raspberry Pi GPIO usando aplicativo Android via Bluetooth
- Carro de brinquedo controlado por Bluetooth usando Arduino
Hoje faremos a interface do Módulo Bluetooth HC-05 com o popular módulo Wi-Fi ESP8266 e controlaremos um LED sem fio enviando comandos via Bluetooth. Este LED pode ser substituído por um relé e um aparelho CA para construir um aplicativo de automação residencial.
Componentes necessários
Hardware:
- NodeMCU ESP8266
- Módulo Bluetooth HC-05
Programas:
- IDE Arduino
- Terminal serial de Bluetooth (Android App): Para monitorar dados de Bluetooth no smartphone.
Diagrama de Circuito do Módulo Bluetooth ESP8266 HC-05
O diagrama de circuito para conectar o módulo Bluetooth HC-05 com NodeMCU ESP8266 é muito simples e mostrado abaixo:
Um módulo Bluetooth externo é necessário com o ESP8266, pois ele não tem Bluetooth embutido como o ESP32. ESP32 tem embutido Bluetooth Low Energy (BLE) e Classic Bluetooth, sobre os quais abordamos anteriormente alguns tutoriais:
- Servidor ESP32 BLE - Serviço GATT para indicação de nível de bateria
- Cliente ESP32 BLE - Conectando-se a Fitness Band para acionar uma lâmpada
- Como usar o Bluetooth serial no ESP32
Módulo Bluetooth HC-05
HC-05 é um módulo Bluetooth serial. Ele pode ser configurado usando comandos AT. Pode funcionar em três configurações diferentes (Master, Slave, Loop back). Em nosso projeto iremos usá-lo como um escravo. Os recursos do módulo HC-05 incluem,
- Sensibilidade típica de -80dBm.
- Taxa de baud padrão: 9600bps, 8 bits de dados, 1 bit de parada, sem paridade.
- Código PIN de emparelhamento automático: código PIN padrão “1234” ou “0000”.
- Possui 6 pinos.
- Os pinos Vcc e Gnd são usados para alimentar o HC-05.
- Os pinos Tx e Rx são usados para comunicação com o microcontrolador.
- Habilite o pino para ativar o módulo HC-05. quando está baixo, o módulo está desabilitado
- O pino de estado atua como indicador de status. Quando não está emparelhado / conectado a nenhum outro dispositivo Bluetooth, o LED pisca continuamente. Quando está conectado / emparelhado com qualquer outro dispositivo Bluetooth, o LED pisca com um atraso constante de 2 segundos.
Para saber mais sobre o módulo Bluetooth, consulte nossos outros projetos relacionados a Bluetooth.
Usando o Terminal Serial Bluetooth (Aplicativo Android)
Usar este aplicativo é muito fácil e requer algumas etapas. As capturas de tela são fornecidas abaixo com etapas. Basta emparelhar o HC-05 com o Smartphone. O código padrão é '0000' ou '1234', mas geralmente funciona '1234'.
- Em primeiro lugar, baixe e instale o aplicativo. Em seguida, vá para dispositivos para encontrar o Módulo HC-05. Selecione o Módulo HC-05 pesquisado no aplicativo. Se não for encontrado, verifique se o HC-05 está devidamente alimentado.
- Após clicar no HC-05 ele será conectado. Agora digite qualquer mensagem na caixa de mensagem e envie-a. Ele será impresso no monitor serial do Arduino.
Programação do NodeMCU ESP8266 para fazer a interface Bluetooth
Para programar o NodeMCU ESP8266 usando o ArduinoIDE, basta conectá-lo do laptop ou PC usando o cabo Micro USB e abrir o IDE do Arduino. Para este tutorial, o serial do hardware e o serial do software serão usados. O serial do hardware será usado para ler e gravar dados no Arduino Serial Monitor e o Sofware Serial será usado para se comunicar com o HC-05. Como sempre, o código completo e o vídeo de demonstração são fornecidos no final do tutorial.
Inicialmente, inclua a biblioteca serial do software, pois ela será usada neste tutorial.
#incluir
Defina o pino RX e TX para comunicação serial do software, defina também o pino do led conectado ao NodeMCU. Estamos usando LED interno de NodeMCU que está no pino D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Inicie o Software e Hardware Serial em 9600 baud rate. Defina Led Pin como saída. Imprima alguma mensagem de boas-vindas e depuração.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, OUTPUT); Serial.println ("Iniciado…");
Em primeiro lugar, leia a partir do módulo Bluetooth e defina um caso que se o Módulo Bluetooth Receber “B” do Telefone, então comece a piscar o Led conectado ao D4 do NodeMCU senão se ele receber “S” então pare de piscar. Não estamos usando delay () aqui. Mas o Arduino 'millis' será usado para não prejudicar o desempenho do Arduino.
if (btSerial.available ()> 0) { char data = btSerial.read (); switch (dados) { caso 'B': ledB = "piscar"; pausa; caso 'S': ledB = "parar"; pausa; padrão: break; } }
O milis é definido e definido o atraso em 500 ms, ou seja, o led piscará a cada 500 ms. Além disso, você pode configurar o atraso do led alterando o valor de 'intervalo'. O estado do led será alternado.
currentMillis longo sem sinal = millis ();
if (ledB == "piscando") { Serial.println ("piscando iniciado"); if (currentMillis - previousMillis> = intervalo) { previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWrite (led, ledState); } }
E isso vai terminar a programação do NodeMCU para piscar LED sem fio usando Bluetooth. Você também pode alterar o programa para fazer diferentes tarefas com LED, como o LED pode ser substituído por um relé com aparelho AC para fazer projeto de automação residencial Bluetooth. Em caso de dúvida ou sugestão, dirija-se ao nosso fórum ou comente abaixo.