Módulo Sensor de Som para Arduino

Aplicação e funcionamento: É muito comum ver em desenhos animados, filmes e novelas as pessoas ativarem lâmpadas, motores e outros objetos por meio de palmas, assovios ou até mesmo...

Aplicação e funcionamento:

É muito comum ver em desenhos animados, filmes e novelas as pessoas ativarem lâmpadas, motores e outros objetos por meio de palmas, assovios ou até mesmo gritos. Até certo ponto parece ser algo difícil de funcionar na prática, mas não é o que este Módulo Sensor de Som em conjunto com um microcontrolador (Arduino, por exemplo) promete fazer.

O Módulo Sensor de Som é capaz de captar ruídos e transformá-los em sinais, estes sinais podem ser receptados pelo Arduino (por exemplo) que em conjunto com outros acessórios podem acionar lâmpadas, motores ou os mais diversos equipamentos eletrônicos.

Na prática o Sensor de Som fica atento ao som provocado no ambiente e quando o recepta ele amplifica este sinal e transforma-o em sinais reconhecíveis pelo Arduino ou microcontroladores geral. O Sensor de Som é um dispositivo ideal para ser aplicado no ramo da automação residencial ou até mesmo em dispositivos para iluminação de festas, entre outros, incluindo projetos robóticos.

A seguir, apresentaremos o controle de um relé por meio de palmas, que poderá estar sendo aplicado para os mais diversos fins utilizando a plataforma Arduino.

Teste prático:

Produtos utilizados no teste:

– Modulo Sensor de som
– Arduino
– Relé
– Protoboard
– Jumpers

Montagem Física (Hardware):

A montagem é muito simples, basta seguir as orientações da imagem abaixo:

 

som.fw

 

Funcionamento do Programa (Software):

O código tem a função de fazer a leitura do Sensor de Som e quando detectado algum ruído alto e instantâneo ele ativará o relé, caso detectar um novo ruído ele o desligará.

Código para teste: Download AQUI

// Código exemplo sensor de som;
 
// Sensor de palma.
 
int microfone = 8; // pino 8 digital para o microfone
int relay1 = 13; //pino do relay
 
int contadorPalmasRelay = 0; //Contador de Palmas
int palmasRequeridaLigaRelay1 = 2; // Contagem para acionar o relay
int palmasRequeridaDesligaRelay1 =2; // Contagem para desativar o relay
 
unsigned long tempoMaximoSom = 1000; //tempo maximo entre o pulso seguinte
unsigned long tempoMinimooSom = 300; //tempo minimo entre o pulso seguinte
unsigned long comprimentoSonoro = 100; //comprimento do som esperado
unsigned long time;
unsigned long startTime = 0;
 
void setup() { //rotina ao iniciar o programa 
 pinMode(microfone, INPUT); //inicia os pino do microfone como entrada
 pinMode(relay1, OUTPUT); //inicia os pino do relay como saida
 digitalWrite(relay1, HIGH); // desliga relay (o relay é invertido HIGH =desliga / LOW = liga)
}
 
void loop() { //rotina infinita
 //inicia a contagem de tempo
 time = millis();
 //verifica o tempo entre o pulso inicial e o seguinte
 unsigned long tempoAposPalma = time - startTime;
 
 if (tempoAposPalma >= comprimentoSonoro && digitalRead(microfone) == LOW) {
 
 //verifica se o pulso recebido respeita o intervalo entre 1 pulso e outro
 if (tempoAposPalma < tempoMinimooSom || tempoAposPalma > tempoMaximoSom) {
 //senao for dentro do intervalo reseta a contagem e o tempo
 contadorPalmasRelay = 0;
 startTime = millis();
 }
 else {
 //se for inicia a contagem de pulso e o tempo
 contadorPalmasRelay ++;
 startTime = millis();
 }
 
 //verifica se a contagem de palma é igual ou superior ao numro esperado e se o rele esta desarmado
 if ((contadorPalmasRelay >= palmasRequeridaLigaRelay1 - 1) &&(digitalRead(relay1) == HIGH)) {
 //liga relay e zera contagem
 digitalWrite(relay1, LOW);
 contadorPalmasRelay = 0;
 }
 
 //verifica se a contagem de palma é igual ou superior ao numro esperado e se o rele esta armado
 if ((contadorPalmasRelay >= palmasRequeridaDesligaRelay1 - 1) &&(digitalRead(relay1) ==LOW)) {
 //desliga relay e zera contagem
 digitalWrite(relay1, HIGH);
 contadorPalmasRelay = 0;
 }
 }
}

 

Conclusões:

O Sensor de Som mostra-se um dispositivo realmente compacto e útil em diversas áreas, como na demonstração do vídeo podemos estar fazendo o controle da iluminação de sua residência, por exemplo. É um sensor de fácil aplicação, pois não são necessários componentes externos, para facilitar ainda mais, possui um trimpot para regular a intensidade da detecção.

Autor: Leonardo Dalla Porta
Categorias
Automação ResidencialProjetos
Sem Comentários

Enviar Resposta

*

*

Responda o cálculo abaixo: *

Sobre nós

Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

Sugestões

Artigos Relacionados