Já pensou em conseguir apagar ou acender as luzes da sua casa apenas batendo palmas? A tecnologia já é avançada o suficiente para isso ser possível, e este post abordará o principal componente necessário para que você consiga implementar esse pequeno projeto dentro da sua própria casa. Falaremos sobre o Sensor de Som, seu funcionamento e suas principais aplicações.
O Sensor de Som é um componente eletrônico capaz de identificar a presença e a
intensidade do som em um determinado ambiente através de um microfone, e, a
partir disso, variar seu estado analógico ou digital com a finalidade desejada.
A estrutura desse componente é bem simples. Temos:
A pinagem do sensor é a seguinte:
A imagem a seguir ilustra os principais elementos que compõem um sensor de som:
Um ponto interessante a ser destacado é o funcionamento do potenciômetro. O pino
digital do sensor apenas retorna HIGH se o microfone captar algum som emitido,
porém, e se o som ambiente já for o suficiente para acionar a captação? É aí que entra
o potenciômetro, onde é possível regular o volume do som captado através do
pequeno parafuso em seu topo, basta apenas girá-lo para aumentar ou diminuir a
intensidade do som que se deseja identificar.
Há diversas aplicações na utilização do Sensor de Som. Já foi dito anteriormente que
uma dessas funcionalidades seria na implementação de um sistema para ligar ou
desligar as luzes de uma lâmpada apenas batendo palmas. Projetos deste tipo já são
largamente realizados na nossa sociedade, porém existem várias outras funções para o
sensor que também são bastante interessantes. Uma delas é na segurança residencial,
na qual o sensor seria utilizado para ativar um alarme caso houvesse um distúrbio
sonoro na área de atuação do componente.
Neste post, abordaremos também uma terceira utilidade para esse sensor: A sua
utilização em bibliotecas para avisar os alunos se estão fazendo muito barulho ou não.
Geralmente, bibliotecas são ambientes onde o silêncio é imprescindível para o
conforto dos estudantes. Porém, devido a alguns descuidos, essa regra pode ser
quebrada, causando desconforto para muitos. Portanto, seria interessante se
tivéssemos um dispositivo que avisasse os alunos se estão passando um pouco do
limite de silêncio desejado. Acompanhe o post até o final e descubra como
desenvolver esse projeto de maneira fácil e rápida.
A parte teórica dos Sensores de Som já foi explicada, portanto chegou a hora de
colocar a mão na massa. Desenvolveremos aqui dois projetos utilizando o sensor
abordado, o primeiro será bem simples, visando apenas à familiarização do leitor com
o componente, já o segundo será um pouco mais complexo, visando treinar nossos
conhecimentos sobre o que já aprendemos. Vamos lá!
Neste primeiro projeto, o objetivo é acender um led batendo palmas, e,
posteriormente, apaga-lo da mesma maneira. Esta será uma versão simplificada do
que foi citado no começo deste artigo, porém a lógica é a mesma.
Os materiais necessários são os seguintes:
A imagem a seguir apresenta a montagem do diagrama do projeto do sensor de som:
Basicamente, a perna positiva do led é ligada na porta 2 do Arduino, sua outra perna é
conectada no resistor de 220 Ω, que por sua vez é conectado ao GND. Já o sensor tem
seu GND corretamente conectado, seu pino positivo é conectado no 5V do Arduino e
sua saída é conectada na porta 3.
Note que apenas a saída digital do sensor foi utilizada, já que não foi necessária a
utilização dos valores analógicos na medição.
O código utilizado está representado na figura abaixo:
#define led 2 // pino em que o led será conectado #define sensor 3 // pino em que o sensor será conectado int som = 0; // variável criada para identificar a presença do som int aceso = 0;// variável criada para identificar se a luz do led está acesa void setup() { pinMode(led, OUTPUT); pinMode(sensor, INPUT); } void loop() { som = digitalRead(sensor); // é feita a leitura do sensor de som if(som == HIGH){ // é detectada a presença de som delay(300); switch(aceso){ // switch necessário para definir se o led vai acender ou apagar case 0: // caso o led esteja apagado... digitalWrite(led, HIGH); // ...ele se acenderá aceso = 1; // atribuição para definir que o led está aceso break; case 1: // caso o led esteja aceso... digitalWrite(led, LOW); // ...ele se apagará aceso = 0; // atribuição para definir que o led esta apagado break; } } }
Apesar de ser autoexplicativo, acredito ser vantajoso detalhá-lo mais uma vez.
Basicamente, quando o sensor detectar qualquer tipo de som acima do volume
estipulado através do potenciômetro (calibrado fisicamente pelo pequeno parafuso
em seu topo), o Arduino checará se o led já está aceso, se sim, ele será apagado e, se
não, ele será aceso.
Neste projeto, como citado anteriormente, montaremos um sinalizador de volume
sonoro. A ideia é bastante parecida com o anterior, porém há duas diferenças cruciais:
não utilizaremos a saída digital do sensor de som, mas sim a saída analógica, e as luzes
se acenderão de acordo com o valor analógico dado pelo sensor e estipulado para cada
led.
O projeto é o seguinte: o sensor enviará a todo o momento para o Arduino a
intensidade medida do som no ambiente. Serão dispostos na Protoboard 9 leds, 4
verdes, 3 amarelos e 2 vermelhos. Cada led será programado para acender de acordo
com a intensidade do som emitida. Os leds verdes acenderão com um volume de som
baixo, indicando que o barulho sendo feito está dentro do limite aceitável. Já os leds
amarelos serão acesos se o barulho feito for um pouco maior, quase chegando no
limite, porém ainda aceitável. E os vermelhos se acenderão quando a intensidade do
som ultrapassar o limite estipulado, indicando que se deve diminuir o barulho.
Os materiais necessários são os seguintes:
A imagem a seguir apresenta a montagem do diagrama do projeto do sensor de som:
Nesta montagem, cada perna positiva dos leds está conectada em sua devida porta, e
suas pernas negativas estão conectadas aos resistores de 220 Ω, que estão conectados
ao GND. A saída do sensor está conectada a porta A0, por ser analógica, já seu pino
positivo está conectado ao 5V e o GND está conectado corretamente.
Note que, desta vez, a saída digital do sensor que não foi utilizada.
A imagem a seguir representa a declaração de variáveis deste projeto:
#define led1 2 // pinos em que os leds serão conectado #define led2 3 #define led3 4 #define led4 5 #define led5 6 #define led6 7 #define led7 8 #define led8 9 #define led9 10 void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led9, OUTPUT); }
A seguinte imagem contém o código utilizado neste projeto:
void loop() { int sensor = analogRead(A0); // é atribuida a variável 'sensor' o valor da intensidade do som captado if(sensor > 70){ // acende o primeiro led se a intensidade do som passar de 70 digitalWrite(led1, HIGH); }else{ digitalWrite(led1, LOW); } if(sensor > 140){ // acende o segundo led se a intensidade do som passar de 140 digitalWrite(led2, HIGH); }else{ digitalWrite(led2, LOW); } if(sensor > 210){ // acende o terceito led se a intensidade do som passar de 210 digitalWrite(led3, HIGH); }else{ digitalWrite(led3, LOW); } if(sensor > 280){ // acende o quarto led se a intensidade do som passar de 280 digitalWrite(led4, HIGH); }else{ digitalWrite(led4, LOW); } if(sensor > 350){ // acende o quinto led se a intensidade do som passar de 350 digitalWrite(led5, HIGH); }else{ digitalWrite(led5, LOW); } if(sensor > 420){ // acende o sexto led se a intensidade do som passar de 420 digitalWrite(led6, HIGH); }else{ digitalWrite(led6, LOW); } if(sensor > 490){ // acende o sétimo led se a intensidade do som passar de 490 digitalWrite(led7, HIGH); }else{ digitalWrite(led7, LOW); } if(sensor > 560){ // acende o oitavo led se a intensidade do som passar de 560 digitalWrite(led8, HIGH); }else{ digitalWrite(led8, LOW); } if(sensor > 630){ // acende o nono led se a intensidade do som passar de 630 digitalWrite(led9, HIGH); }else{ digitalWrite(led9, LOW); } }
O código em si simplesmente compara o valor da intensidade do som medido e acende
cada led de acordo com suas estipulações.
É importante salientar que os valores utilizados para acender cada led são meramente
simbólicos, já que a leitura analógica varia de sensor para sensor, dependendo muito
de sua calibragem. Portanto, aconselho que o leitor verifique em seu próprio sensor
quais são os valores adequados para se utilizar nesse projeto.
A partir do que foi abordado neste post, é possível concluir que a utilização do Sensor
de Som é de extrema importância em vários projetos com o Arduino. Aqui,
aprendemos sobre seu funcionamento e suas principais aplicações, demonstrando
também como é possível implementá-lo em nosso dia-a-dia, dentro de casa ou até em
ambientes de estudo.
Por fim, espero que essa pequena explicação tenha fomentado
sua curiosidade e que, a partir dela, você possa explorar todas as possibilidades deste
componente.
Se curtiu o post e gostaria de aprender mais sobre Arduino e suas aplicações, siga-nos no Instagram: @eletrogate.
Até mais!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!