Código de Pesquisa

Código Arduino e vídeo da lâmpada AC com Bluetooth HC-06

Código Arduino e vídeo da lâmpada AC com Bluetooth HC-06

Neste tutorial, exploraremos como controlar uma lâmpada AC usando o módulo Bluetooth HC-06 e um Arduino. O projeto permite ligar e desligar a lâmpada usando comandos enviados por um dispositivo conectado via Bluetooth. Esse recurso de controle remoto torna-o um projeto prático e divertido para iniciantes que desejam integrar funcionalidade Bluetooth em seus projetos com Arduino.

HC-06-module

Seguindo os passos descritos neste tutorial, você poderá configurar o hardware, escrever o código e controlar a luz a partir do seu smartphone ou tablet. Se precisar de mais esclarecimentos, não deixe de conferir o vídeo associado a este tutorial (no vídeo, em 0:00).

Hardware Explicado

Os principais componentes deste projeto incluem o módulo Bluetooth HC-06, uma placa Arduino e um módulo de relé para controlar a lâmpada AC. O módulo HC-06 é responsável por estabelecer uma conexão Bluetooth, permitindo que seu dispositivo se comunique sem fio com o Arduino. Ele possui quatro pinos: VCC (alimentação), GND (terra), TX (transmitir) e RX (receber).

O módulo de relé atua como um interruptor para controlar a lâmpada de corrente alternada (AC). Conecta-se à linha de alimentação da lâmpada, permitindo completar o circuito (acender a lâmpada) ou interrompê-lo (apagar a lâmpada) com base nos sinais recebidos do Arduino. O Arduino funciona como o cérebro da operação, interpretando comandos enviados pelo módulo Bluetooth e controlando o relé de acordo.

Detalhes da ficha técnica

FabricanteHC
Número da peçaHC-06
Tensão lógica/E/S3.3 V - 6 V
Tensão de alimentação3,3 V - 6 V
Corrente de saída (por canal)20 mA
Corrente de pico (por canal)50 mA
Orientação sobre frequência PWMNão aplicável
Limiares de entrada lógica0.2 V (baixo) / 0.7 V (alto)
Queda de tensão / RDS(ligado)/ saturação0,5 V
Limites térmicos85 °C
PacoteMódulo
Notas / variantesBluetooth 2.0

  • Garanta níveis de tensão adequados para evitar danificar o módulo.
  • Use um dissipador de calor adequado se o módulo for utilizado em aplicações de alta carga.
  • Mantenha os pinos TX e RX corretamente conectados para evitar problemas de comunicação.
  • Verifique novamente as especificações do relé para que correspondam aos valores nominais de tensão e corrente da lâmpada de CA.
  • Implemente isolamento adequado para aumentar a segurança ao trabalhar com tensão CA.

Instruções de fiação

HC-06_bluetooth_wiring

Para ligar o módulo Bluetooth HC-06 e o relé ao Arduino, comece conectando o pino VCC do HC-06 ao pino 5V do Arduino e o pino GND ao terra do Arduino. Em seguida, conecte o pino TX do HC-06 ao pino digital 10 do Arduino e o pino RX ao pino digital 11. Essa configuração permite que o Arduino se comunique com o módulo Bluetooth.

Para o módulo de relé, conecte o pino de controle (frequentemente rotulado como IN) ao pino digital 2 do Arduino. O pino VCC do relé também deve ser conectado à fonte de alimentação de 5V, e o pino de terra deve ir para o terra comum. Certifique-se de conectar os fios da lâmpada de corrente alternada (CA) aos terminais normalmente abertos (NO) e comum (COM) do relé para controlar eficazmente a alimentação da lâmpada.

Exemplos de Código e Guia passo a passo

O código do Arduino começa incluindo oSoftwareSerialbiblioteca, que permite comunicação serial em outros pinos digitais. O módulo Bluetooth é inicializado com o pino TX conectado ao pino 10 e o pino RX conectado ao pino 11:

SoftwareSerial BT(10, 11); // creates a "virtual" serial port/UART

Esta configuração permite que o Arduino se comunique com o módulo HC-06 de forma eficaz. O pino de controle do relé é definido da seguinte forma:

#define SW 2 // define pin 2 as control pin

Osetup()A função inicializa a conexão Bluetooth e define o pino de controle do relé como saída:

void setup() { pinMode(SW, OUTPUT); BT.begin(9600); }

No/Naloop()Na função, o Arduino verifica se há comandos Bluetooth recebidos. Se um '1' for recebido, o relé é ativado para acender a luz:

if (a=='1') { digitalWrite(SW, LOW); BT.println("Light on"); }

Por outro lado, se for recebido um '2', o relé é desativado para desligar a luz:

if (a=='2') { digitalWrite(SW, HIGH); BT.println("Light off"); }

Para mais detalhes e o código completo, consulte o programa carregado abaixo do artigo.

Demonstração / O que esperar

Depois que tudo estiver corretamente configurado, você pode ligar e desligar a lâmpada AC usando os comandos Bluetooth. Digitar 1 ligará a lâmpada, enquanto digitar 2 a desligará. Certifique-se de que seu dispositivo Bluetooth esteja emparelhado com o módulo HC-06 antes de enviar os comandos. Se os comandos não forem reconhecidos, verifique sua fiação e garanta que o HC-06 esteja corretamente conectado (no vídeo em 3:30).

Marcas de tempo do vídeo

  • 00:00- Introdução ao projeto
  • 01:45- Configuração de hardware
  • 04:30- Explicação do código
  • 06:15- Demonstração do aplicativo
  • 08:00- Dicas de solução de problemas

Imagens

HC-06-module
HC-06-module
HC-06_bluetooth_wiring
HC-06_bluetooth_wiring
52-This is the Arduino code for an HC-06 Bluetooth AC bulb ON/OFF.
Idioma: C++
/*
 * This is the Arduino code for the HC-06 Bluetooth module
 * to measure the distance using Arduino for a robotic car and other applications
 * Watch the video https://youtu.be/-E9J9ExdZ20
 * 
 * Written by Ahmad Nejrabi for Robojax Video
 * Date: January 1, 2018, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

// original source code: https://github.com/tronixlabsAU/HC06
#include <SoftwareSerial.h>

SoftwareSerial BT(10, 11); 
// creates a "virtual" serial port/UART
// connect BT module TX to D10
// connect BT module RX to D11
// connect BT Vcc to 5V, GND to GND

#define SW 2 // define pin 2 as control pin
// by Robojax for Robojax.com, January 1, 2018
void setup()  
{
    
  // set digital pin to control as an output
  pinMode(SW, OUTPUT);

  // set the data rate for the SoftwareSerial port
  BT.begin(9600);

  // Send test message to other device
  BT.println("Hello from Arduino");
}

char a; // stores incoming character from other device

void loop() 
{
  if (BT.available())
  // if text arrived from BT serial...
  {
    a=(BT.read());
    if (a=='1')
    {
      digitalWrite(SW, LOW);// Turn LIGHT ON
      BT.println("Light on");
    }
    if (a=='2')
    {
      digitalWrite(SW, HIGH);// Turn LIGHT OFF
      BT.println("Light off");
    }
    if (a=='?')
    {
      BT.println("Send '1' to turn LIGHT on");
      BT.println("Send '2' to turn LIGHT off");
    }   
    
  }
}

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing