Como fazer um LED piscar no ritmo da música 40

Certamente você já deve ter visto vídeos de luzes que piscam conforme o ritmo da música. Você sempre quis fazer um? Neste post vamos ensinar a utilizar um sensor de som KY-038 e um Arduino para você aprender como fazer um LED piscar no ritmo da música!

Como fazer um led piscar no ritmo da música

Existem diversas fitas de LEDs endereçáveis que utilizam o mesmo princípio de comunicação. Inclusive, você aprendeu como funciona a sua comunicação no nosso post sobre como fazer um pisca-pisca com Arduino. Dessa forma, somos capazes de criar diversos efeitos com os LEDs.

O Sensor de som KY-038 também já é conhecido do nosso blog. No último post sobre ele, vimos como acender uma lâmpada batendo palmas. Nos projetos anteriores utilizamos somente saída digital desse sensor, dessa vez, porém, vamos trabalhar com a saída analógica dele.

Para este projeto vamos precisar de:

Montagem do circuito

Como vamos utilizar a saída analógica do Sensor de som KY-038, temos que conectá-lo com uma entrada analógica do Arduino. Para acionar a fita de LEDs, utilizamos apenas uma saída digital.

Circuito de como fazer um led piscar no ritmo da música

 

Lógica de como fazer um LED piscar no ritmo da música

Para fazer o LED piscar no ritmo da música, utilizamos a saída analógica do sensor de som como entrada para o programa. O valor obtido definimos como a intensidade do brilho da fita de LEDs. Dessa forma, o LED não fica totalmente apagado e aumenta o brilho conforme aumenta a intensidade da música.

Você vai precisar adicionar a biblioteca da Adafruit para trabalhar com esse tipo de fita de LEDs.

//Programa: Como fazer um LED piscar no ritmo da musica
//Autor: FILIPEFLOP

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif


int nleds = 16; // Numero de LEDs na fita
int pinoLED = 6; // Pino que vai enviar os dados para a fita de LED
int pinosom = A5; // Pino que recebe a saida analogica do sensor de som

Adafruit_NeoPixel pixels=Adafruit_NeoPixel(nleds,pinoLED,NEO_GRB+NEO_KHZ800); // Define com a biblioteca o tipo de fita de LEDs que voce esta usando


void setup()
{
  pixels.begin();
  pixels.setBrightness(0);  
  pinMode(pinosom, INPUT); // Define o pino de entrada do sensor de som
  
}

int brilho =0;

void loop(){
  int som = analogRead(pinosom); //Lê o valor da porta analógica do sensor de som
  brilho = som/2; // Passa o valor lido pelo som para definir o brilho dos LEDs
  //   brilho = map(som,valorsilencio,valormusica,0,240); // Opção para um ajuste mais fino do brilho
  
  pixels.setBrightness(brilho); // Passa para os LEDs o valor da variável brilho
  
  for (int i=0;i<nleds;i++){
    pixels.setPixelColor(i,pixels.Color(0, 0, 255)); // Marca todos os nleds com a cor (azul, neste caso)
  }
  pixels.show();

}

É necessário, antes de funcionar de obter a versão definitiva do programa, fazer o ajuste da sensibilidade do sensor de som, de forma com que a luz fique fraca quando a música está baixa mas que fique forte quando a música está mais alta. Uma alternativa para ficar mais fácil de ajustar é dividir a variável som por um valor maior, como mostro ali no código.

Como os LEDs somente mudam a intensidade no ritmo da música, tem-se um efeito fluído. Parece que eles estão até que eles estão dançando. É possível fazer os LEDs apagarem completamente utilizado um if e a porta digital do sensor de som, mas perderia esse efeito mais fluído.

Gostou de aprender como fazer um LED piscar no ritmo da música? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial. Não se esqueça de visitar o fórum da FILIPEFLOP!

Deixe uma resposta

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

40 Comentários

  1. Olá boa tarde, ótimo trabalho, já cheguei a fazer um led que ascende conforme a musica, mas não utilizei Arduíno.
    Eu tentei mas com fracasso fazer um led rítmico estilo estéreo, usando um fone por exemplo, as vezes uma batida da musica fica do lado esquerdo enquanto o direito reproduz o complemento da música.
    Conseguiriam fazer um estilo estéreo ?

    1. Olá Alexandre!

      Como nós captamos o som com um sensor bem simples, não é possível fazer essa diferenciação com ele. Acredito que o ideal seria o som “passar” pelo arduino antes de ir para as caixas.

      Achei bem interessante a sua ideia e seria bem legal ver em nosso fórum. Você poderia postar?

      https://www.filipeflop.com/forum/

      Lá você pode tirar algumas dúvidas e postar seus projetos. Colaborar e aproveitar a comunidade!

      Abraços!

      André – Equipe FilipeFlop

  2. Pode ser usado a fita de led normal também?

    1. Olá Neudivan!

      É possível sim! O segredo está em usar a variável lida pelo sensor em intensidade nos LEDs.

      Numa fita norma essa intensidade é controlada pelo PWM.

      Abraços!

      André – Equipe FilipeFlop

  3. Seria possível fazer um exemplo onde as cores mudam?? de acordo com a som?

    1. Olá Alvaro!

      É mais tranquilo fazer do que parece 🙂

      Nesse trecho de código, definimos a cor dos LEDs:
      ” pixels.setPixelColor(i,pixels.Color(0, 0, 255));”
      Ali a ordem é RGB ( vermelho, verde e azul). Como queria que ficasse azul, coloquei o máximo no azul e zero nos outros.

      Basta alterar o código para a cor que você deseja.

      Quando você fizer, compartilha conosco? Que tal postar no nosso fórum?
      Lá você pode tirar algumas dúvidas e postar seus projetos. Colaborar e aproveitar a comunidade:

      https://www.filipeflop.com/forum/

      Abraços!

      André – Equipe FilipeFlop

  4. Boa noite.

    Duas perguntas rápidas. (sou novato de tudo)

    Primeira. O que é essa peça/mesa b_ranca onde tudo está conectado?

    segunda. Posso utilizar a quantidade/metros de fita de led que quiser?

    Vlw

    1. Olá Adalberto!

      Essa peça se chama protoboard. Você conecta os cabos à ela.

      Pode usar a quantidade que a sua placa suportar, sem problemas.

      Abraços!

      André – Equipe FilipeFlop

  5. Bom dia !
    Se eu usar o sensor de som KY-038, em um cubo 4x4x4 com arduino uno consigo fazer que o cubo acompanhe uma música ?

    1. Olá Edvaldo!

      O cubo é feito de LEDs?

      Basta alterar a intensidade da luz desse cubo de acordo com a intensidade percebida com o sensor de som.

      Abraços!

      André – Equipe FilipeFlop

  6. Amigo, eu conseguiria usar essa logica em 15m de fitas led ws2812 ou w2812ws??

    1. Olá!

      Consegue, sim. A lógica é a mesma, o acionamento só que é diferente.

      Abraços!

      André – Equipe FilipeFlop

  7. Ola, boa noite, ótimo trabalho, gostaria de tirar uma duvida! , gostaria de saber se e possível fazer um emissor de áudio MP3 por Bluetooth para ser recebido o mesmo áudio em outro dispositivo?

    1. Olá Paulo!

      Obrigado pelos elogios! Foi um projeto que curti bastante de fazer.

      Nesse post falamos sobre receber um áudio bluetooth:
      https://www.filipeflop.com/blog/caixa-de-som-amplificador-de-audio-bluetooth/

      Abraços!

      André – Equipe FilipeFlop

  8. O vídeo está fora do ar, existe outro link?

  9. “É necessário, antes de funcionar o programa, fazer o ajuste da sensibilidade do sensor de som, de forma com que a luz fique fraca quando a música está baixa mas que fique forte quando a música está mais alta. Uma alternativa para ficar mais fácil de ajustar é dividir a variável som por um valor maior.”
    Poderia explicar com outras palavras??

    1. Olá!

      Você tem que mexer nessa seção do código e ajustar de forma com que melhor se adeque:
      brilho = som/2; // Passa o valor lido pelo som para definir o brilho dos LEDs
      // brilho = map(som,valorsilencio,valormusica,0,240); // Opção para um ajuste mais fino do brilho

      Você pode tentar vários números para dividir a variável “som” e passar para a brilho.

      Abraços!

      André – Equipe FilipeFlop

  10. Boa noite,

    Primeiro, gostaria de agradecer pelo seu trabalho, gostaria tirar uma dúvida, que é o uso de uma fita led SMD 5050 de 5M que vai utilizar uma fonte de 7,5A (se o calculo estiver correto), porém, quero usar esse led em um arduino nano e alimentar esse Arduíno com a fonte de 7,5A com um relé de 10A e 250V AC e 30V DC para entrada da fonte e saída de 10A e 125V AC / 28V DC para alimentar a placa, fita e componente que identifica som. Então a dúvida é, se esse circuito que descrevi vai alimentar a placa com a fita e o módulo detector de som?

    Obrigado!

    1. Olá Rodrigo!

      Não entendi muito bem a função do relé nesse circuito. Mas a princípio é possível alimentar todo mundo com essa tensão.

      Fico bastante feliz que gostou do post 🙂

      Abraços!

      André – Equipe FilipeFlop

  11. olá, eu gostei do seu projeto, porém eu tenho uma dúvida, seria possível fazer com que os leds tivessem uma mudança de cor conforme a altura da música? por exemplo, a música está baixa, os leds estão verdes, a música fica um pouco mais alta e os leds ficam amarelos, depois laranjas e quando o som estiver muito alto fique vermelho.
    seria possível fazer? desde já agradeço.

    1. Olá Habner!

      É possível sim, teria que colocar uma estrutura com ifs, tipo:
      if(som >= 0 )…

      Parecido com o que tem neste post:
      https://www.filipeflop.com/blog/medidor-de-indice-uv-com-arduino/

      Abraços!

      André – Equipe FilipeFlop

      1. Muito Obrigado pela dica, irei trabalhar em cima do código 🙂

  12. bom dia como meto os leds só a acender só quando o sensor detectar a música e também como por a trocar de cores.

    obrigado abraço

    1. Olá Cristiano,

      Para mudar a cor dos LEDs, você precisa alterar os valores da linha 35 do código.

      pixels.setPixelColor(i,pixels.Color(r, g, b));

      Exemplo:
      pixels.setPixelColor(i,pixels.Color(255, 0, 0)); -> você terá o cor vermelha
      pixels.setPixelColor(i,pixels.Color(0, 255, 0)); -> você terá o cor verde
      pixels.setPixelColor(i,pixels.Color(0, 0, 255)); -> você terá o cor azul

      Acredito que isso te ajude.
      Abraços,

      Rosana – Equipe FilipeFlop

      1. Boa tarde ajudou bastante queria saber se dava para quando o sensor não captar som os LEDs se desligasse

        1. Olá,

          Você pode dar um comando “if” para que os LEDs não acendam quando o valor detectado pelo sensor for menor que um valor estipulado.

          Abraço,
          Rosana – Equipe FilipeFlop

  13. Eu consigo usar esse circuito para controlar lâmpadas coloridas em uma tensão maior ?

    1. Olá Tom,

      Para acionar uma lâmpada LED utilizando esse circuito você deverá utilizar um relé.

      Abraços,
      Rosana – Equipe FilipeFlop

  14. Boa tarde! Ficou muito legal!
    Teria como fazer 12 fresnel com halogenas de 1000W piscar dessa mesma maneira?

    1. Olá Tiago,

      Não recomendo. Pode estragar as halogenas.

      Abraço!
      Rosana – Equipe FilipeFlop

  15. Olá fiz todas as ligações mas meu led não acendeu, poderia me ajudar

    1. Olá Rayanne!

      Você já mexeu com Arduino? Se esse é seu primeiro contato sugiro seguir esse tutorial antes: https://www.filipeflop.com/blog/primeiros-passos-com-arduino/
      Qualquer coisa entre novamente em contato com a gente!

      Abraço!
      Rosana – Equipe FilipeFlop

  16. Bom dia, André.

    Cara, teu fiz uma caixa de som e coloquei um módulo digital pequeno. Instalei um fita de LED e gostaria que ele tocasse no ritmo da música, inclusive já tenho a placa, só que não consigo mais fazer com que ela pisque depois que coloquei esse módulo digital, você tem alguma sugestão?

    1. Olá Daniel,

      Que módulo você está usando?

      Abraço!
      Rosana – Equipe FilipeFlop

  17. Quero saber como faço para ligar uma fita de Led branca de 12v na batida da música meu módulo e de 1500 rms qual resistor colocar

    1. Olá, João Carlos,

      Qual módulo você está utilizando?

      Abraços!
      Diogo – Equipe FilipeFlop

  18. Onde consigo alguém que monte esse sistema pra mim ? Sou de Guararema SP o email é viverguararema@gmail.com

  19. Se eu quisesse mudar a fita de leds por varios leds oq eu deveria fzer?

    1. Marcos,

      Você teria que provavelmente modificar o código inteiro, tendo em vista que ele utiliza a biblioteca para a fita de LEDs.

      Abraços!
      Diogo – Equipe FilipeFlop

  20. Alguém perto de São Paulo que poderia montar esse sistema pra mim ?

{"cart_token":"","hash":"","cart_data":""}