Projeto 45 – Acendendo led com sensor de som

  • Outubro 23, 2015
  • Comentários

Olá pessoal, hoje iremos aprender como acender um LED com o módulo sensor de som, este módulo é capaz de captar ruídos e transformá-los em sinais, estes sinais são recebidos pelo Arduino que em conjunto com outros acessórios podem acionar lâmpadas, motores ou os mais diversos equipamentos eletrônicos. Para que o LED acenda e apague faz-se necessário batermos duas palmas seguidas. Mãos aos componentes e bom trabalho !!!

Componentes necessários

1 Arduino Uno R3

1 Protoboard

1 Resistor de 330Ω

1 LED (Qualquer cor)

1 Módulo sensor de som

Fios jumpers

Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue a protoboard, o LED, o resistor, o sensor de som e os fios jumpers e conecte-os como mostra a figura.

Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino conectando-o ao cabo USB.

Agora vamos ao código

// Projeto 45 – Acendendo LED com sensor de som

int microfone = 7; // Pino digital ligado ao sensor de som (DO)
int led = 8; // Pino ligado ao LED
 
int contPalmas = 0; // Contador de Palmas
int palmasRequeridaLigaLed = 2; // Contagem para acender o LED
int palmasRequeridaDesligaLed = 2; // Contagem para apagar o LED
 
// Tempo máximo entre o pulso seguinte
unsigned long tempMaxSom = 1000; 
unsigned long tempMinSom = 300;  
unsigned long compriSonoro = 100; // Comprimento do som esperado
unsigned long time;
unsigned long startTime = 0;
 
void setup() {    
 pinMode(microfone, INPUT); // Inicia o pino do microfone como entrada
 pinMode(led, OUTPUT); // Inicia os pino do LED como saída
// Desliga LED (o LED é invertido HIGH = desliga / LOW = liga)
 digitalWrite(led, HIGH); 
}
 
void loop() { 
 // Inicia a contagem de tempo
 time = millis();
 // Verifica o tempo entre o pulso inicial e o seguinte
 unsigned long tempoAposPalma = time - startTime;
 
 if (tempoAposPalma >= compriSonoro && digitalRead(microfone) == LOW) {
 
 // Verifica se o pulso recebido respeita o intervalo entre 1 pulso e outro
 if (tempoAposPalma < tempMinSom || tempoAposPalma > tempMaxSom) {
   
 // Caso contrario o intervalo resetara a contagem e o tempo
 contPalmas = 0;
 startTime = millis();
 }
 else {
   
 // Iniciada a contagem de pulso e o tempo
 contPalmas ++;
 startTime = millis();
 }
 
 // Verifica se a contagem de palma é igual ou superior ao número... 
//esperado e se o LED esta desligado
if((contPalmas>=palmasRequeridaLigaLed-1)&&(digitalRead(led)==HIGH)){
   
 // Acende o LED e zera a contagem
 digitalWrite(led, LOW);
 contPalmas = 0;
 }
 
 // Verifica se a contagem de palma é igual ou superior ao número... 
//esperado e se o LED esta aceso
if((contPalmas>=palmasRequeridaDesligaLed-1)&&(digitalRead(led)==LOW)){
   
 // Desliga LED e zera contagem
 digitalWrite(led, HIGH);
 contPalmas = 0;
 }
 }
}

Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora basta bater duas palmas seguidas para apagar o LED e mais duas para acende-lo novamente.

Vídeo do projeto pronto

- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)

- Compartilhe os posts !

- Curta a fan page !

- Inscreva se no canal do YouTube !



Deixe seu comentário abaixo