Usando um sensor de som para acender a luz batendo palmas 69

Com certeza você já sonhou em acender a luz batendo palmas! Neste post vamos apresentar como é possível construir esse sistema utilizando um  Sensor de Som KY-038 e um relé de estado sólido.

Sensor de som KY-038 possui um microfone que é capaz de detectar a intensidade de som do ambiente. Apesar de não ser capaz de diferenciar sons, ou ainda gravá-los, é possível ter algumas aplicações para a sua funcionalidade. Com um Arduino e um relé de estado sólido, vamos medir a intensidade do som ambiente e, se for muito alto, vamos acender a lâmpada por um tempo determinado.

Vamos precisar dos seguintes componentes:

Tome cuidado com a escolha do relé! Relés de estado sólido feitos para corrente alternada (AC) não funcionam para corrente contínua (DC). Para este caso, como irei utilizar uma carga de AC este relé escolhido é apropriado.

No sensor existem 2 saídas, uma analógica e outra digital. Na saída analógica, conforme varia a intensidade do som, o valor vai variar também. Na saída digital, é definido um nível de som determinado, se for mais alto que esse nível a saída vai ser 1, se for menor, 0. O potenciômetro altera a sensibilidade do microfone, alterando ambas as saídas.

Sensor de som KY-038

Neste projeto, vamos utilizar a saída digital do Sensor de som KY-038. Para isso, é necessário ajustar o potenciômetro para não acionar a saída com o som ambiente mas acionar quando batemos palma. Gire o potenciômetro no sentido anti-horário até o LED da saída digital apagar no som ambiente. Verifique se o LED pisca quando você bate palma, caso não acenda, gire no sentido horário até isso acontecer. Ajuda se você bater palmas mais forte também 🙂

Ajuste do Sensor de Som KY-038

Montagem do circuito com sensor de som

Como estamos utilizando a saída digital do Sensor de som KY-038, vamos utilizar uma entrada digital do Arduino. Apesar de utilizarmos um Arduino Uno no exemplo, poderia ser qualquer outra placa de desenvolvimento.

IMPORTANTE: Tome muito cuidado ao trabalhar com a rede elétrica! Somente coloque na tomada quando estiver tudo corretamente conectado. Nunca mexa com os fios energizados pois um choque nessa tensão pode causar graves problemas.

Programação para acender uma lâmpada batendo palmas

//Programa para acender as luzes com palmas
int pino_som = 7; //Define o pino que será utilizado para o sensor de som
int pino_rele = 5;     //E o que será utilizado para o rele
boolean rele = HIGH; // Define um booleano para poder usar a operacao NAO

void setup() {
  pinMode(pino_som, INPUT); //Coloca o pino do sensor de som como entrada
  pinMode(pino_rele, OUTPUT);   // E o do rele como saida
}

void loop() {
  int som = digitalRead(pino_som); //Verifica se a saida do sensor esta ativa
  
   if(som){ // Se o som estiver alto
    rele = !rele; //Operacao NAO: Se estiver LOW, passa pra HIGH. Se estiver HIGH passa para LOW
    digitalWrite(pino_rele, rele); // Manda o valor da variavel para o rele
    delay(1000); // Aguarda 1 segundo para não ficar ligando e desligando sem parar
   }
}

Procure entender esse código, ele é bem simples e está bastante comentado para facilitar o entendimento. Nele utilizamos a operação NÃO, que vemos com mais profundidade no post sobre operações lógicas.

Acender luz batendo palma

Nosso blog parceiro, o Arduino e Cia, já fez um post sobre o funcionamento desse sensor, se você desejar ver outra aplicação.

Gostou de aprender como se faz para acender uma lâmpada batendo palmas? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial.

Faça seu comentário

Acesse sua conta e participe

69 Comentários

  1. Teria um sensor de som com uma melhor precisão e melhor alcance que o KY-038? Realizei o projeto, está funcionando perfeitamente, de vez em quando ajusto o trimpot para aumentar a sensibilidade, mas tenho que bater palmas muito altas para aciona-lo, a menos de 1 metro de distância.

    1. Olá João,

      Infelizmente no momento é o único de que dispomos.

      Abraços!
      Vinícius – Equipe MakerHero

  2. COMO POSSO FAZER ESSE TESTE NO TINKERCAD

    Gleison Carlos Rodrigue Souza
    1. Olá Gleison,

      Infelizmente o TinkerCAD não dispõe do módulo KY-038.
      Dessa forma, não é possível simular nele.

      Abraços!
      Vinícius – Equipe MakerHero

  3. Preciso saber se posso fechar um circuito de 127 Volts para acionar um aparelho de som usando um sensor de som.Música excessivamente alta no vizinho.Quero retribuir.

    1. Amilton,

      O módulo aceita cargas com valores de tensão entre 75 e 240VAC, então pode utilizar sim.

      Abraços!
      Diogo – Equipe MakerHero

  4. Boa noite, usei um sensor diferente desse, mas ele é para som também, e ao carregar o programa, o relé fica toda hora ligando e desligando, será que tá ocorrendo isso por causa do modelo do sensor?

    1. Marcos,

      Provavelmente seu sensor é sensível demais. Experimente adicionar valor para a variável “som”, assim o relé só acionará se o barulho chegar a um valor determinado.

      Abraços!
      Diogo – Equipe MakerHero

  5. Olá,
    Estou tendo alguns pequenos problemas com esse sensor. Ele parece ser sensível à presença de outros componentes no circuito.
    Estou usando ele para acionar um relé, e quando o relé liga a sensibilidade do sensor aumenta (palmas mais fracas são detectadas), enquanto com o relé desligado a sensibilidade diminui (é mais difícil ligar o relé do que desligá-lo). Outro indicador é que o brilho do led de energia do sensor muda quando o relé é ligado. Se necessário passo mais informações.
    Gostaria de ajuda para resolver esse problema.

    1. Gabriel,

      Seria interessante se você pudesse dar o máximo de detalhes no nosso fórum, fica mais fácil de ajudar!

      Abraços!
      Diogo – Equipe MakerHero

  6. Olá amigos.
    Estou replicando esse experimento no Raspberry Pi 3, poderiam me ajudar com o código a ser utilizado?
    Dei uma pesquisada no fórum e não consegui encontrar esse código em Python.

    Agradeço desde já.

    Curto mto seus projetos!
    Parabéns pelo trabalho!

  7. otimo post, me ajudou muito!!

    1. Erika,

      Que bom que gostou!

      Abraços!
      Diogo – Equipe MakerHero

  8. Vocês tem algum video pra me ajudar??

    1. Olá, Lucas,

      Não possuímos vídeo para o tutorial.

      Abraços!
      Diogo – Equipe MakerHero

  9. Ola! me da detalhes da ligação interruptor, lampada e relé, tipo no interruptor tem neutro e fase, onde ligo precisamente no relé?

    1. As ligações estão na imagem a seguir.

      Abraços!
      Diogo – Equipe MakerHero

  10. Qual a tensão da fonte usada para ligar o arduino?

    1. Olá, Yan,

      Você pode ligar o arduino direto no seu computador via entrada usb! Ou pode usar a fonte do link abaixo:
      https://www.makerhero.com/produto/fonte-dc-chaveada-9v-1a-plug-p4/

      Abraços!
      Diogo – Equipe MakerHero

  11. ola, consegue disponibilizar a biblioteca desse programa?
    obrigado!

    1. Olá, Lucas,

      Não é necessário de biblioteca para rodar esse código.

      Abraços!
      Diogo – Equipe MakerHero

  12. Boa noite, tenho um sensor igual ao do video e ele não apaga os leds (os 2). Provavel defeito ?

    1. Olá!

      Pelo que entendi, os LEDs são os do sensor, correto? Nesse caso não faria sentido apagarem, sendo que um é o LED de alimentação e o outro é a saída digital acionada. Ela só apagará nesse caso se você não usar essa saída.

      Abraços!
      Diogo – Equipe MakerHero

  13. ola como faço este projeto sem uma protoboard?

    1. Olá Enzo,

      Você pode usar uma placa perfurada como essa: https://www.makerhero.com/produto/placa-fenolite-perfurada/

      Abraço!
      Rosana – Equipe MakerHero

  14. pode me ajudar com esse projeto
    https://circuitdigest.com/microcontroller-projects/control-your-computer-with-hand-gestures
    ou ensinarem como posso controlar meu computador usando um Arduíno e 2 sessores ultrassônicos por favor

  15. Muito Profissional eu gostei
    Estou me aperfeiçoando mais..

    1. Olá Lucas,

      É muito bom saber que gostou do nosso trabalho 😀

      Abraço!
      Rosana – Equipe MakerHero

  16. Olá, boa noite, estamos trabalhando em um projeto da feira de ciências do colégio e precisamos de ajuda pra montar um chuveiro inteligente, o senhor trabalha com o terceiros
    OBS: Queremos pagar pelo seu trabalho

  17. Olá vocês ensinam a fazer um P.E.M ?
    Se não poderiam ensinar ?

    1. Olá Miguel,

      Ainda não temos nenhum post sobre o assunto. Mas quem sabe no futuro? 😀
      Obrigada pela dica!

      Abraço,

      Rosana – Equipe MakerHero

  18. Boa noite
    Ola sou leigo no assunto
    Como posso fazer o mesmo sistema usando um led.

    1. Olá Gabriel,

      Basta trocar o relé por um LED.

      Abraço!
      Rosana – Equipe MakerHero

      1. Descupa,Mas aonde vão os fios do relé

        1. Olá Gabriel,

          Se você deseja usar um LED no lugar da lâmpada não é necessário usar o relé.
          Apenas ligue o pino positivo do LED no pino D7 do Arduino e o pino negativo do LED no GND do Arduino.

          Abraço!
          Rosana – Equipe MakerHero

  19. como ligar a lampada do jeito que você mostrou so que usando um bocal sem ser na tomada

    obs:esse rele aguenta 110 a

    1. Olá,

      Você deseja acionar uma lâmpada sem que a mesma esteja conectada na rede elétrica?
      O relé em questão suporta até 240VAC de tensão na carga. A corrente máxima na carga é de 2A.

      Abraço!
      Rosana – Equipe MakerHero

  20. Top cara gostei muito !!

    1. É muito bom saber que você gostou do nosso trabalho!

      Abraços!
      Rosana – Equipe MakerHero

  21. Qual a distância máxima o sensor de som detecta as palmas ? Ele já vem com o amplificador ?

    1. Olá Lucas!

      Depende da força das suas palmas 🙂

      Você pode ajustar o potenciômetro para ativar com sons mais fracos, mas tome cuidado para não ativá-lo com qualquer som!

      Ele possui um amplificador operacional, colocado como um comparador.

      Abraços!

      André – Equipe MakerHero

  22. Muito bom, funciona corretamente.Parabéns pelo projeto.

    1. Olá José!

      É sempre bom saber que nosso trabalho ajuda as pessoas!

      Abraços!

      André – Equipe MakerHero

  23. depois de muitas tentativas a seguir outros posts , finalmente consegui , muito obrigado salvou me a pap 🙂 unico que funciona mesmo !!!! sigam este post

  24. tem como fazer esse projeto sem o photo board ?

    1. Olá Gabriel!

      Você sempre pode fazer com uma placas de circuito impresso:
      https://www.makerhero.com/produto/placa-de-circuito-impresso-dupla-face/

      Abraços!

      André – Equipe MakerHero

  25. Amigo, estou precisando de algo assim teria como fazer esse projeto para que o som acionasse o relé e ficaria acionado direto sem desligar , somente iria desligar com um interruptor quando eu quisesse . Seria só armar o relé e não desliga-lo .
    Se for atendido desde já agradeço!

    1. Olá Valmir!

      Basta mexer no programa. Na seção que fala que troca o estado do relé, basta deixar ele ativo.

      Abraços!

      André – Equipe MakerHero

  26. cara vc pode me ajudar na programação desse projeto. .
    https://youtu.be/nKA2TE3_sS4

    92991555751
    joao neto

    1. Olá João!

      O que você precisa de ajuda?
      Abraços!

      André – Equipe MakerHero

  27. tem como eu fazer o mesmo projeto sem utilizar uma Protoboard? me ajude porfavor

    1. Olá Murilo!

      Tem como sim!

      É só o sensor de som que vai na protoboard, você pode usar jumpers macho fêmea e ligar os pinos do arduino direto nos pinos do sensor.

      Estava pensando aqui, até poderia ter feito o post assim…

      Abraços!

      André – Equipe MakerHero

  28. Ola! Muito bom este projeto… Mas qual a diferença entre construir este projeto com Arduíno e usar um CMOS ou 555?

    1. Olá Marcos!

      É possível fazer só com transistores, praticamente.
      A diferença é que da forma que você apontou envolve um pouco mais de eletrônica, da forma que eu fiz, um pouco mais de programação.

      Abraços!

      André – Equipe MakerHero

  29. Quanto de carga este relé aguenta? Dá pra ligar uma lâmpada comum na corrente de casa?

    1. Olá Marcelo!

      O relé que eu usei nesse post suporta até 2 A. Você pode trocar por esse também:

      https://www.makerhero.com/produto/modulo-rele-5v-1-canal/

      Ese uporta até 10 A. Com ambos é possível ligar uma lâmpada.

      Abraços!

      André – Equipe MakerHero

    2. Cada saida aguenta 10A. No caso o meu tem 4 saidas( ou seja 4 canais ) , da pra ligar bastante coisa.

      1. Qual as características da alimentação de energia que está sendo utilizada neste projeto (lâmpada /relé de estado sólido).
        227 ou 110 e a amperagem?

        Grato.

        1. Edson,

          A rede elétrica aqui é de 220V.

          Abraços!
          Diogo – Equipe MakerHero

  30. Olá! Tens disponível este kit para vender?

    1. Olá Matheus!

      Temos os itens para vender separadamente. No próprio post você consegue adicionar ao seu carrinho da loja 😉

      Abraços!

      André – Equipe MakerHero

  31. Olá amigo sou totalmente leigo no assunto e comprei duas lâmpadas de led que acendem com palmas, mas se pagam depois de 30/60 segundos , existe algo que eu possa fazer pra elas continuarem acesas mesmo que seja pelo interruptor e sem palmas? Grato

    1. Olá Costa!

      Comprou elas prontas?

      Deve ser configuração do produto, ou ele está achando que qualquer barulho já são palmas.

      Ela liga sozinha?

      Abraços!

      André – Equipe MakerHero

  32. Como poderia fazer esse mesmo esquema sem a utilização do relé, e ao invés da lampada usar um pequeno LED ?

    1. Olá Leonardo!

      No lugar da saída do relé você pode colocar o LED e o resistor. Não precisa nem mudar o código!

      Abraços!

      André – Equipe MakerHero

  33. Obrigado por postar seus projetos já com os códigos, pois isso ajuda a quem está iniciando nesse caminho, e motiva para que possamos continuar e ir cada vez mais longe.