Protótipo do Circuito de Controle de LEDs através de Módulo de SOM – KY-038
Fala Pessoal! Tudo Beleza?! 😉
Neste projeto, vamos fazer acender vários LEDs em conformidade com o som de entrada (voz, ruído, etc) ou através das “batidas de uma música” no microfone de eletreto presente no módulo sensor de som, que em nosso caso, utilizamos o modelo KY-038 (que possui tanto saída Digital quanto Analógica), mas que em nada impediria de utilizarmos modelos semelhantes que só possuam a saída Digital (DO), pois é exatamente ela que iremos utilizar neste projeto! 😀
Para isso, precisamos apenas do módulo sensor de som, uma placa baseada no Arduino UNO, 7 resistores de 220Ω (ou 330Ω) e 7 LEDs 3mm (ou 5mm).
Esta é a proposta de construirmos um protótipo bem simples, mas com um resultado final bastante interessante (além de visualmente bonito)!
O Módulo Sensor de SOM (KY-038 e similares)
Existem diferentes versões de módulos sensores de som convenientes para serem utilizados com a placa Arduino UNO (ou outras compatíveis), em nosso caso, sabemos que iremos trabalhar com a nossa placa RODUINO (Um Arduino Standalone Feito em Casa)! 🙂
Veja na foto abaixo os módulos sensores de som mais comuns e utilizados com o microcontrolador ATMEL ATmega328P da placa Arduino UNO:
O módulo sensor de som utiliza um microfone de eletreto que tem a função de “captar o som”, utiliza também um potenciômetro (que dependendo do modelo do módulo de SOM, pode ser um simples TRIMPOT ou então um Potenciômetro Multivoltas – maior precisão que o primeiro), onde podemos ajustar a sensibilidade do sensor além do módulo já possuir terminais/pinos para conectarmos o mesmo diretamente a nossa placa Roduino (Arduino UNO Standalone).
Alguns módulos destes sensores de som, vêm com ambos os pinos, tanto de saída analógica (AO) assim como saída digital (DO), enquanto outros têm apenas um pino de saída digital (DO). Ou seja, isso nos leva a conclusão de que é mais fácil encontrarmos no mercado, módulos sensores de som que possuam saída Digital (Digital Output = DO). 🙄
Neste projeto utilizaremos mesmo apenas o pino de Saída Digital (DO), então se você tem uma versão do sensor de som que possua também Saída Analógica, não há problemas, pois só utilizará uma das Saídas! 🙂
O Esquemático do nosso protótipo/circuito:
Para conectarmos o pino do módulo sensor de som à nossa placa Roduino (qualquer placa baseada no Arduino UNO) é bastante simples. Precisamos apenas seguir as instruções seguintes:
- Conectamos o pino de saída digital (DO) do módulo sensor de som ao pino digital (D2) do Arduino;
- Conectamos VCC (ou +) nos 5V;
- GND (ou -) no GND.
O resto do circuito utiliza 7 resistores (limitadores de corrente) e 7 LEDs (3mm) controlados pelos pinos digitais (D3, D4, D5, D6, D7, D8 e D9) da nossa placa Roduino (Arduino UNO Standalone feito em casa).
Beleza, então vamos agora ao Sketch/Código do nosso protótipo:
Para que possamos entender melhor o código que vem a seguir, vamos tomar nota, com atenção às informações que estão abaixo pois elas ajudam bastante no entendimento e compreensão do Sketch:
- Quando o som/ruído estiver acima de um certo nível, o Arduino lê um Nível ALTO(1) no sensor;
- Quando o som/ruído estiver abaixo de um certo limiar, o Arduino lê um Nível BAIXO(0) no sensor;
- Quando o Arduino lê um sinal de nível baixo (0 – low), todos os LEDs ficarão apagados;
- Quando o Arduino lê um sinal de nível alto (1 – high), todos os LEDs deverão acender.
Neste código não necessitamos instalar nenhuma biblioteca “auxiliar”.
Se assim desejar, basta Copiar e Colar o código abaixo na sua IDE do Arduino, Compilar e Pronto! 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/* CONTROLANDO LEDS ATRAVES DO SOM COM A PLACA RODUINO - UM ARDUINO STANDALONE FEITO EM CASA * ARTIGO COMPLETO SOBRE O PROJETO NO NOSSO BLOG: * https://EletronicaParaTodos.com * RODRIGO COSTA. * ------------------------------------------------------------------------------------------- * Agradecimentos: * Rui Santos */ // DEFINIMOS OS PINOS I/O LIGADOS AOS LEDs int led1 = 3; int led2 = 4; int led3 = 5; int led4 = 6; int led5 = 7; int led6 = 8; int led7 = 9; // DEFINIMOS O PINO I/O LIGADO AO SENSOR DE SOM int sensorPin = 2; int val = 0; // DEFINIMOS UMA VARIAVEL PARA ARMAZENAR O VALOR DE LEITURA DO SENSOR DE SOM void setup (){ pinMode(led1, OUTPUT) ; // DEFINIMOS A PORTA D3 LIGADA AO LED1 COMO SAÍDA pinMode(led2, OUTPUT) ; // DEFINIMOS A PORTA D4 LIGADA AO LED1 COMO SAÍDA pinMode(led3, OUTPUT) ; // DEFINIMOS A PORTA D5 LIGADA AO LED1 COMO SAÍDA pinMode(led4, OUTPUT) ; // DEFINIMOS A PORTA D6 LIGADA AO LED1 COMO SAÍDA pinMode(led5, OUTPUT) ; // DEFINIMOS A PORTA D7 LIGADA AO LED1 COMO SAÍDA pinMode(led6, OUTPUT) ; // DEFINIMOS A PORTA D8 LIGADA AO LED1 COMO SAÍDA pinMode(led7, OUTPUT) ; // DEFINIMOS A PORTA D9 LIGADA AO LED1 COMO SAÍDA pinMode(sensorPin, INPUT) ; // DEFINIMOS A PORTA D2 LIGADA AO SENSOR DE SOM COMO ENTRADA Serial.begin(9600); // INICIAMOS A COMUNICACAO SERIAL } void loop (){ val = digitalRead(sensorPin); // ARMAZENAMOS O VALOR LIDO NO SENSOR DE SOM NA VARIAVEL "VAL" Serial.println(val); // "IMPRIMIMOS" O VALOR LIDO NO SENSOR DE SOM NO MONITOR SERIAL DA IDE ARDUINO // NESTA SEÇAO, QUANDO O MODULO DE SOM DETECTA UM SINAL, ENTÃO OS LEDs ACENDEM DE ACORDO COM A INTENSIDADE DA ENTRADA DE SOM if(val== HIGH){ digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); digitalWrite(led4, HIGH); digitalWrite(led5, HIGH); digitalWrite(led6, HIGH); digitalWrite(led7, HIGH); } // NESTA SEÇAO, QUANDO O MODULO DE SOM "NÃO" DETECTA SINAL, ENTÃO OS LEDs APAGAM else{ digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); digitalWrite(led5, LOW); digitalWrite(led6, LOW); digitalWrite(led7, LOW); } } |
Detalhe Importante!
Ajustando a Sensibilidade do Sensor de Som:
Pessoal, uma vez que tenhamos realizado a montagem do nosso circuito/protótipo e também já tivermos efetuado o UPLOAD do código para o microcontrolador (MCU), então finalmente chegou a hora de testarmos o circuito, colocando-o “a prova”! 😎
Para “Testar e Configurar” seu circuito por aí, bom, recomendo que coloque uma música pra tocar (e com a fonte sonora localizada bem próximo à entrada de som do módulo, ou seja, bem perto do próprio microfone) e a partir daí reparar se os LEDs seguem (ou não) a batida da música/som!
ATENÇÃO ❗ No caso de que a gente observe que os LEDs não estão “ligando” de acordo a algumas notas musicais da fonte sonora, então aí precisaremos ajustar a sensibilidade do módulo sensor de SOM, e para isso, basta que a gente “gire” o potenciômetro integrado no módulo algumas (ou muitas) voltas com o auxílio de uma pequena chave de fenda e a partir daí encontremos “o ponto ideal” para o “acionamento” dos LEDs (ou qualquer outro tipo de carga que venhamos a utilizar, com ou sem o auxílio de um circuito driver de apoio). 💡
Se você deseja que seus LEDs sigam o ritmo da música, abaixo está um passo-a-passo que você deve realizar para conseguir este resultado rapidamente:
- Coloque uma música para tocar;
- Coloque o sensor de som ao lado dos alto-falantes de áudio;
- Veja agora se os LEDs estão seguindo a batida da música;
- Se ainda não, gire o potenciômetro, de um lado ou para outro, até obter o efeito desejado!
Nota: o potenciômetro é muito sensível, então precisamos ser pacientes!
Um video-tutorial mostrando todas as etapas descritas no post:
É isso aí Pessoal!
Forte Abraço,
Rodrigo Costa do Blog,
https://EletronicaParaTodos.com
- Medindo e Monitorando a Temperatura com Arduino (Sensor LM35) - 5 de setembro de 2021
- Controle de Cargas através de Entrada Analógica com Arduino - 30 de agosto de 2021
- REVIEW E DICAS – ALICATE AMPERÍMETRO (UNI-T UT210E PRO) - 28 de agosto de 2021