Projeto 97 - Criando leds rítmicos com sensor de som e Arduino

Básico - Projeto 97

Leds piscam de acordo com o som

Objetivo

O objetivo deste projeto é criar um circuito para fazer piscar vários leds de acordo com o ritmo de uma música. Para isso, vamos utilizar um módulo sensor de som capaz de captar ruídos e transformá-los em sinais. O Arduino ao receber esses sinais, irá acionar os leds criando um efeito rítmico. No projeto utilizamos o módulo KY-038, mas o resultado deverá ser semelhante para qualquer outro tipo de módulo sensor de som.

Obs: Nesse projeto também será utilizado o Plotter Serial do Arduino para exibir as variações dos sinais analógicos captados pelo módulo sensor de som. O Ploter Serial é um recurso nativo do IDE do Arduino para mostrar graficamente informações variadas como evolução do estado de portas analógicas e digitais, dados de sensores, dados de atuadores e gráficos de temperatura, entre outras.

Definições

Módulo sensor de som: Módulo eletrônico composto principalmente por um chip comparador de tensão, um potenciômetro (trimpot) e um microfone. O sensor deverá identificar a presença e a intensidade do som em um determinado ambiente, variando o estado de sua saída digital ao detectar o som (LOW para HIGH) e ainda detectar a intensidade do som ao usar uma saída analógica.

O limite de detecção de saída digital pode ser ajustado pelo potenciômetro (trimpot) que regulará, caso necessário, o nível de sinal sonoro necessário para alterar o estado da saída digital. Veja na ilustração abaixo os principais elementos que compõem um sensor de som, no caso o módulo KY038. Saiba mais sobre módulo sensor de som em Sound Sensor Tutorial for Arduino, ESP8266 and ESP32.

Conforme a imagem acima, temos:

Microfone (condensador elétrico): Utilizado para captar o som, identificando a vibração das ondas no ambiente;
Trimpot: Potenciômetro utilizado para ajustar a sensibilidade do microfone;
Led de Alimentação: Indica se o sensor está sendo alimentado, acendendo sua luz;
Led de Saída Digital: Indica se a saída digital está sendo acionada, acendendo sua luz;

Pinagem do módulo KY038

GND: Terra;
D0: Saída Digital, retorna HIGH ou LOW;
A0: Saída Analógica, retorna o valor da intensidade do som captado;
Vcc: Tensão de entrada entre 3.3 e 5Vcc.

Atenção: A inversão na alimentação pode ocasionar a queima do módulo.

Exemplo de módulos mercado: Abaixo temos os dois tipos mais comuns de módulos de som. A diferença entre eles é apenas nos pinos de saída. O módulo à esquerda tem duas saídas: 1 saída digital D0 e 1 saída analógica A0, já o módulo à direita tem apenas um saída que pode ser digital ou analógica, dependendo da conexão com o Arduino.

Aplicação

Para fins didáticos e projetos para alarmes, automação residencial e segurança.

Componentes necessários

Referência

Componente

Quantidade

Imagem

Observação

Protoboard Protoboard 830 pontos 1 Resultado de imagem para protoboard 830v

No mínimo utilizar protoboard com 400 pontos

Jumpers Kit cabos ligação macho / macho 1  
Módulo Sensor de Som

Módulo Sensor de Som KY-038

1

– Modelo: KY-038 ou KY-037
– Chip comparador de sinal LM393
– Tensão de Operação: 3.3-5v DC
– Sensibilidade ajustável via potenciômetro
– Saída Digital e Analógica
– Corrente elétrica
– Led indicador para tensão
– Led indicador para saída digital

(datasheet)

Obs.: Você poderá utilizar outros tipos de sensores de som que possuem saída digital.

Led difuso 5mm Led 5mm 6 Utilizar led de qualquer cor
Resistor Resistor de 150 Ω ou maior 6 Se precisar usar outros valores, calcule o resistor apropriado para o led ou barra grafica utilizada
Arduino UNO R3 Arduino UNO 1

Você poderá utilizar uma placa Arduino UNO original ou similar

Montagem do Circuito

Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da energia enquanto você monta o circuito.


Atenção

1. Lembre-se que o LED tem polaridade: O terminal maior tem polaridade positiva e o lado do chanfro tem polaridade negativa.

2. Determinamos o valor do resistor através da tabela prática: Tabela prática de utilização de leds 3mm e 5mm. Entretanto, o mais correto é sempre verificar o datasheet do fabricante do LED para você ter os exatos valores de tensão e corrente do mesmo - leia Leds ligados em série e em paralelo.

Obs.: Resistores superiores a 150 Ω poderão ser utilizados em LEDs de todas as cores para um circuito com tensão igual ou inferior a 5V.

2.1. Valores utilizados para nossos projetos: LEDs difusos ou de alto brilho: Vermelho, Laranja e Amarelo: 150 Ω | Led Verde e Azul: 100 Ω

3. Para a montagem do módulo sensor de som, vamos utilizar a saída digital para acionar o led quando o sensor detectar um som. Vamos utilizar também a saída analógica, de forma opcional, para verificarmos o valor lido no sensor, servindo como parâmetro para a calibragem do microfone, caso haja necessidade.

3.1. Se o seu módulo sensor de som possuir 3 pinos, utilize apenas o pino de saída para a conexão digital do Arduino. Faça a calibragem, se necessário, sem a leitura do sensor.

3.1.2. Veja a montagem do nosso exemplo.

4. A montagem do nosso exemplo foi realizada em um protoboard com 830 pontos de com linhas não contínuas:

Código do Projeto (Sketch)

1. Faça o download e abra o arquivo projeto97.ino no IDE do Arduino:  DOWNLOAD - projeto97.ino

2. Se preferir, copie e cole o código abaixo no IDE do Arduino:

/*******************************************************************************

     Projeto 96 - Leds Rítimicos com Sensor de Som e Arduino
     Data: 25/08/2021
     Autor: Angelo Luis Ferreira
             http://squids.com.br/arduino

*******************************************************************************/
// conexões pinos Arduino
const byte pinSensor = 2;
const byte pinLeds[] = {8,9,10,11,12,13};

void setup() {
  // inicialização comunicação serial
  Serial.begin(9600);
 
 // define pinMode leds (saída do Arduino)
 for (byte i=0;i<6;i++) {
  pinMode(pinLeds[i], OUTPUT);
 }

 // define pinMode Senor de som (entrada do Arduino)
 pinMode(pinSensor, INPUT);
}

void loop() {
 readSound(); // detecta a presença de sinal de som
 Serial.println(analogRead(A0)); // Le as informacoes obtidas do sensor
 delay(10); // Tempo de atualizacao
}

void readSound() {
  // verifica se há ou não sinal de som detectado no módulo de som
  if (digitalRead(pinSensor)) {
      // acende todos os leds
      for (byte i=0;i<6;i++) {
        digitalWrite(pinLeds[i], HIGH);
      }
  } else {
      // apaga todos os leds
      for (byte i=0;i<6;i++) {
        digitalWrite(pinLeds[i], LOW);
      }
  }  
}

Vídeo

Como o projeto deve funcionar

1. Ao rodar o programa os leds acenderão apenas quando algum ruído (som) for superior ao limite de detecção do sensor, ou seja, quando o sinal digital recebido pelo Arduino for HIGH.

2. É muito importante neste projeto ajustar a sensibilidade do microfone do sensor. Isto deverá ser feito por meio de um potenciômetro (trimpot) presente no módulo de som.

3. Observe que a diferença entre o sensor ativado (HIGH - SOM DETECTADO) e desativado (LOW) é bem pequeno. Por isso o ajuste na sensibilidade do microfone do sensor deverá ser feita de forma bem precisa.

4. Caso o sensor esteja bem ajustado, ao reproduzir uma música, os leds deverão piscar de forma rítmica acompanhando a batida do som.

Como ajustar a sensibilidade do sensor

5. Muitas vezes ao adquirir um módulo sensor de som, o mesmo não está adequadamente calibrado para este tipo de projeto. Para isso, precisamos fazer um ajuste na sensibilidade do microfone, girando o parafuso do potenciômetro no sentido horário ou anti-horário. Veja abaixo como fazer esse ajuste:

5.1. Gire o potenciômetro até que todos os LEDs acendam.

5.2. Gire novamente o potenciômetro lentamente na direção contrária até que os LEDs se apaguem.

5.3. Neste caso, a saída digital D0 é LOW.

5.4. Agora faça qualquer ruído para que os leds pisquem.

5.5. Os LEDs deverão acender por um som ativo de uma música, por exemplo, piscando de forma rítmica.

6. Veja no vídeo abaixo como fazer essa calibragem de acordo com os passos acima:

Sound Sensor Tutorial for Arduino, ESP8266 and ESP32

7. Se você possui um módulo sensor de som com 4 pinos (KY-038 ou KY-038) poderá fazer as leituras da saída analógica do sensor graficamente, utilizando o Plotter Serial do Arduino. (Aqui é que usamos a conexão com o pino analógico do Arduino).

7.1. Para isso, abra o Plotter Serial do IDE. (ATENÇÃO: O Plotter Serial não estará disponível se o Monitor Serial estiver aberto)

7.2. Acompanhe as leituras do módulo sensor de som. Você visualizará os níveis de intensidade sonora de uma música, por exemplo.

O anúncio abaixo ajuda a manter o Squids Arduino funcionando

Comentários

×

Infomações do site / SEO








×

Adicionar Marcadores