Como fazer um controle Bluetooth para fita de LED utilizando o Arduino Deixe um comentário

Nesse post veremos como montar um controle Bluetooth para fita de LED comandada por um Aplicativo Android. Para isso vamos utilizar um Arduino Pro Mini, um módulo Bluetooth HC-05 para comunicação com o celular e transistores NPN para controlar a energia que chega em cada uma das cores da fita de LED.

As controladoras vendidas comercialmente geralmente funcionam através de controles infravermelhos, o alcance desses controles é muito curto e precisam ser apontados para o receptor, que precisa estar visível para receber o sinal.

Com esse projeto, você pode controlar a fita de LED com mais facilidade e a maiores distâncias e, como o código do projeto é bem simples, pode ser facilmente customizado. Além disso, o controle de intensidade presente nesse projeto é muito mais amplo e preciso do que o dos controles comerciais.

Materiais Necessários

Para montar esse projeto usaremos os seguintes componentes:

Circuito

A alimentação para esse projeto deve ser feita por uma fonte de 12 V. Para cada metro de Fita de LED 5050 é necessário 1,2 A – para uma fita de 5 metros, por exemplo, a fonte deve ser capaz de fornecer 6 A. O positivo da fonte deve ser conectado diretamente ao “+” da fita de LED.

Para realizar as conexões, você pode cortar o cabo da fonte e desencapar os fios de alimentação ou preservar o conector da fonte e utilizar um conector jack P4, como o da imagem abaixo, conectando os fios de energia nos bornes – o símbolo de + indica 12 V e o de – é o GND.

Utilizaremos um regulador de tensão 7805 para fornecer 5 V para o Arduino e para o módulo Bluetooth a partir da mesma fonte de 12 V utilizada para alimentar a fita de LED. Apesar do regulador de tensão embarcado no Arduino ser capaz de lidar com uma tensão de 12 V, ele não é suficiente para fornecer energia para o módulo Bluetooth. As conexões do regulador devem ser feitas conforme a imagem abaixo.

O módulo Bluetooth HC-05, apesar de poder ser alimentado com 5 V, trabalha com níveis lógicos de 3,3 V enquanto o Arduino trabalha com níveis de 5 V. Precisamos então utilizar um divisor de tensão entre as portas TX do Arduino e RX do módulo. Para mais detalhes sobre o módulo HC-05 acesse o “Tutorial Módulo Bluetooth com Arduino“.

Utilizaremos transistores conectados a portas digitais PWM do Arduino para controlar a intensidade de cada uma das cores disponíveis na Fita de LED. Para mais detalhes sobre o uso de PWM para controlar LEDs acesse “Ajustando o brilho de um LED por PWM com Arduino“. Para cada uma das cores, o pino da esquerda do transistor deve ser conectado através de um resistor de 220 Ω ao pino do Arduino, o pino do meio deve ser conectado a Fita de LED e o pino da direita ao GND.

As demais conexões devem ser feitas conforme a tabela.

Tabela de Conexões
ArduinoFita de LEDFonteHC – 05Regulador 7805Resistor 1kΩResistor 510Ω
GNDNegativoGNDGNDTerminal 1
VCCVCC5V
10TX
12Terminal 1
RXTerminal 2Terminal 2
+Positivo12V

Código

No código usaremos a biblioteca Software Serial, presente nativamente na IDE do Arduino. Essa biblioteca nos permite utilizar outros pinos digitais do Arduino para estabelecer conexão serial com o módulo Bluetooth.

#include <SoftwareSerial.h>

// Portas----------
#define RedPin 5
#define GreenPin 3
#define BluePin 6

// Variáveis de Controle
bool Estado = false;
byte Intensidade = 255;
byte Red = 255;
byte Green = 255;
byte Blue = 255;

void BluetoothControl( );

SoftwareSerial bluetooth( 10, 12); // RX, TX

void setup( )
{
  bluetooth.begin( 9600);     // Inicializa a comunicação com o módulo HC-05
  
  pinMode( RedPin, OUTPUT);
  pinMode( GreenPin, OUTPUT);
  pinMode( BluePin, OUTPUT);
}

void loop( )
{
  BluetoothControl();         // Recebe as configurações do Usuário feitas pelo App
  
  analogWrite( RedPin, Red * Estado * Intensidade/100);
  analogWrite( GreenPin, Green * Estado * Intensidade/100);
  analogWrite( BluePin, Blue * Estado * Intensidade/100);
}

void BluetoothControl( )
{
  static String command = "\0";
    
  if ( bluetooth.available())
    command += char(bluetooth.read());

  if(command.length() == 12)
  {
    if ( command == "111111111111")    // Comando para Ligar a Fita de LED
      Estado = true;
    else if ( command == "000000000000")    // Comando para Desligar a Fita de LED
      Estado = false;
    else if ( command.indexOf("RGB") != -1)    // Comando para alterar a cor da Fita de LED
    {
      //RGBXXXXXXXXX - Resolução de 8 bits
      String r = String(command[3]) + String(command[4]) + String(command[5]);
      String g = String(command[6]) + String(command[7]) + String(command[8]);
      String b = String(command[9]) + String(command[10]) + String(command[11]);
      Red = r.toInt();
      Green = g.toInt();
      Blue = b.toInt();
    }
    else if ( command.indexOf("INT") != -1)    // Comando para alterar a intensidade da Fita
    {
      //INT000000XXX
      String intensidade = String(command[9]) + String(command[10]) + String(command[11]);
      Intensidade = intensidade.toInt();
    }
    command = "\0";
  }
}

No início do código, em Portas, definimos os pinos do Arduino que controlam os transistores de cada uma das cores.

A função BluetoothControl recebe do módulo HC-05 o comando de 12 caracteres enviado pelo aplicativo e extrai as configurações definidas pelo usuário.

Para saber como fazer upload do código no Arduino Pro Mini você pode acessar o nosso post “Programando um Arduino Pro Mini com Arduino Uno” ou “Programando o Arduino Pro Mini com Cabo Conversor USB TTL“.

Funcionamento

Faça o download do arquivo de instalação do aplicativo no seu dispositivo Android.

Para a utilização do aplicativo é necessário que o Bluetooth do seu celular esteja ativado e o módulo Bluetooth esteja pareado – o nome é HC-05 e a senha de pareamento 1234. Para começar a controlar a fita é só clicar em “Selecione a Fita de LED” no topo da tela e escolher o módulo Bluetooth corresponde a fita que deseja controlar.

Gostou desse projeto? Não esqueça de deixar um comentário aqui embaixo nos contando o que achou. Se decidir fazer um Controle Bluetooth para Fita de LED na sua casa acesse o nosso Fórum e compartilhe o resultado.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *