Como fazer um ring light controlado pelo celular

Como fazer um ring light controlado pelo celular 2

Neste post veremos como construir um ring light controlado por celular. Esse tipo de luz é extremamente popular para iluminação de objetos próximos à câmera e apresenta resultados muito melhores do que o flash integrado do celular.

Material necessário

Para confecção desse projeto serão necessários os seguintes materiais:

É importante verificar se seu dispositivo utiliza um conector Micro USB ou USB Tipo C e comprar o adaptador OTG adequado.

Montagem do circuito

Para montagem desse circuito, podemos utilizar uma mini protoboard e jumpers ou realizar as conexões com fios e solda para montar em uma capinha de celular. O pino VCC, GND e TX do módulo Bluetooth devem ser conectados, respectivamente, ao 5V, GND e D10 do Arduino. Os pinos VCC, GND e IN do anel de LED devem ser conectados aos pinos VIN, GND e D13 do Arduino. Você pode utilizar fita dupla face para anexar o LED ao redor da câmera do celular.

Para fornecer energia para o nosso projeto, podemos conectar o Arduino via USB a um carregador de celular ou utilizar um adaptador OTG para alimentar nossa luz através do próprio smartphone e garantir maior mobilidade ao projeto.

Código

Utilizaremos a biblioteca FastLED para controlar os LEDs endereçáveis, ela pode ser instalada através do gerenciador de bibliotecas da IDE do Arduino ou através do link.

Antes de carregar o código no Arduino é necessário apenas verificar se o número de LEDs está correto em Parâmetros de Configuração. Defina NUM_LEDS para o número de LED no sua ring light.

/*
#------------------------#
|       Ring Light       |
|                        |
|      Ítalo Coelho      |
#------------------------#
*/

#include <FastLED.h>
#include <SoftwareSerial.h>

//Parâmetros de Configuração---------------------
#define DATA_PIN 13    //Pino de controle dos LEDs
#define NUM_LEDS 16   //Quantidade de LEDs
//-----------------------------------------------

//Variáveis de Controle
bool State = true;
int Brightness = 25;
byte r = 255;
byte g = 255;
byte b = 255;
//---------------------

CRGB leds[NUM_LEDS];
SoftwareSerial bluetooth( 10, 12); // RX, TX

void BluetoothControl( );

void setup() 
{
  FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);

  //Inicializa a comunicação com o módulo HC-05
  bluetooth.begin(9600);
  Serial.begin(9600);
  //Inicia todos os LEDs Brancos e 25% de Intensidade
  for(int i = 0; i < NUM_LEDS; i++)
  {
    leds[i] = CRGB(64,64,64);
    FastLED.show();
    delay(250);
  }
}

void loop() 
{
  BluetoothControl(); //Recebe as configurações do Usuário feitas pelo App
  
  //Define as configurações dos LEDs
  for(int i = 0; i < NUM_LEDS; i++)
    leds[i] = CRGB(g*(Brightness/100.0)*State,r*(Brightness/100.0)*State,b*(Brightness/100.0)*State);
  FastLED.show();
}

void BluetoothControl( )
{
  static String command = "";
    
  if ( bluetooth.available())
  { 
    command += char(bluetooth.read());
    delay(50);
  }
    
  if(command.length() == 12)
  {
    Serial.println(command);
    if ( command == "111111111111")   // Comando para ligar a luz
      State = true;
    else if ( command == "000000000000")    // Comando para desligar a luz
      State = false;
    else if ( command.indexOf("RGB") != -1)   //Comando para alterar a cor da luz
    {
      String r_str = String(command[3]) + String(command[4])  + String(command[5]);
      String g_str = String(command[6]) + String(command[7])  + String(command[8]);
      String b_str = String(command[9]) + String(command[10]) + String(command[11]);
      r = r_str.toInt();
      g = g_str.toInt();
      b = b_str.toInt();
    }
    else if ( command.indexOf("INT") != -1)   //Comando para alterar a intesidade da luz
    {
      String brightness_str = String(command[9]) + String(command[10]) + String(command[11]);
      Brightness = brightness_str.toInt();
    }
    command = "";
  }
}

Aplicativo

O aplicativo para controle da ring light está disponível neste link.

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 luz é só clicar em “Selecione a Ring Light” no topo da tela e escolher o módulo Bluetooth corresponde a ring light que deseja controlar.

Ring Light completo no celular

Gostou de aprender a fazer um ring light controlado pelo celular? Não se esqueça de deixar um comentário aqui embaixo nos contando o que achou. 

Faça seu comentário

Acesse sua conta e participe

2 Comentários

  1. Tem como deixar um ring light, de tripe, autômato com arduino? Como seria?

    1. Olá Rayssa,

      Tem que ver se ela tem algum tipo de comunicação que você consiga usar o arduino para controlar ela.

      É difícil precisar como fazer pois vai depender do modelo de ring light.

      Abraços!
      Vinícius – Equipe MakerHero