The Circuit Maker
Arduino10 min leitura

Como Conectar o Sensor de Som Arduino KY-037

Tutorial on connecting the KY-037 sound sensor to Arduino with digital and analog output examples, breadboard diagrams, and code.

·

Neste tutorial, você vai aprender como conectar o sensor de som KY-037 usando um Arduino. Vamos revisar os componentes necessários para este tutorial e ver como podemos aproveitar o sensor de som para acionar outras funcionalidades.

Este tutorial é destinado a ser amigável para iniciantes com explicações detalhadas guiadas com diagramas e exemplos para ajudá-lo a entender o sensor de som KY-037, mostrando como podemos acender luzes LED com Arduino sempre que o sensor de som detecta um som e transmite sinais digitais ou analógicos para o Arduino.

Quais Materiais Você Vai Precisar

Hardware

Esta é a lista de todos os componentes necessários neste tutorial.

Conjunto de Luzes LED 5mmx 1
Protoboardx 1
Conjunto de Fios Jumperx 1
Arduino Uno R3x 1
Cabo USB de Sincronização de Dados Arduino UNOx 1
Conjunto de Resistores de 220 Ohmx 1
Sensor de Som KY-037x 1

No entanto, se você gosta de aprender eletrônica e Arduino, recomendo obter o seguinte kit iniciante que tem todos os elementos para este tutorial.

ELEGOO UNO R3 Project Most Complete Starter Kit c/Tutorial Compatível com Arduino IDE (63 Itens)x1

Nota: Este kit usa ELEGOO Uno R3 em vez de Arduino Uno R3, que é uma réplica do Arduino Uno R3 e é compatível com Arduino IDE.

Software

Arduino IDE

O que é o componente KY-037?

O KY-037 é um módulo sensor de som com microfone que envia um sinal analógico e digital sempre que o sensor detecta um som.

Especificações do KY-037

O KY-037 tem as seguintes partes:

  • AO ou Pino de Saída Analógica: Emite um sinal analógico baseado no som detectado.
  • DO ou Pino de Saída Digital: Emite um sinal digital baseado no som detectado em comparação ao nível de referência.
  • G ou Pino Terra
  • + ou Tensão de Entrada que pode estar entre 3.3V e 5V
  • LED 1: Mostra que o sensor está alimentado com tensão
  • LED 2: Mostra que um som foi detectado.
  • Potenciômetro: Ajusta o valor da resistência ou nível de referência.
Partes do KY-037
Partes do KY-037

Ajustando a sensibilidade do sensor de som KY-037

Para ajustar a sensibilidade do KY-037, localize o potenciômetro e use uma chave de fenda para:

  • Girar o potenciômetro no sentido horário para aumentar a sensibilidade. Assim, o valor da resistência no potenciômetro diminuirá.
  • Girar o potenciômetro no sentido anti-horário para reduzir a sensibilidade. Assim, o valor da resistência no potenciômetro aumentará.
Ajustando a sensibilidade do sensor de som KY-037
Ajustando a sensibilidade do sensor de som KY-037

Conectar o sensor de som KY-037 usando saída digital para acender luzes LED usando Arduino

Neste primeiro tutorial, vamos construir um circuito para acender luzes LED baseado no sinal digital emitido pelo KY-037.

Diagrama da Protoboard

Vamos começar a construir o circuito baseado no seguinte diagrama.

Diagrama da Protoboard - Sensor de Som KY-037 conectado ao Arduino usando saída digital
Diagrama da Protoboard - Sensor de Som KY-037 conectado ao Arduino usando saída digital

Nota: Infelizmente, não conseguimos encontrar uma imagem do sensor de som com 4 pinos ao projetar o diagrama. No entanto, observe os pinos do KY-037 usados neste circuito são:

  • +: pino que recebe a tensão para alimentar o sensor. Neste circuito, o pino 5V do Arduino está fornecendo a fonte de alimentação
  • G: pino conectado ao terra
  • DO: pino conectado ao pino digital 2 do Arduino
  • AO: pino NÃO usado neste circuito

Finalmente, os pinos digitais 3 - 9 do Arduino estão cada um conectados a um resistor de 220Ω para reduzir a tensão para evitar queimar a luz LED conectada.

Carregue o Código

Se você não instalou o Arduino IDE no seu computador, baixe e instale o software.

Uma vez instalado, abra o software e crie um novo projeto clicando em File no menu. Em seguida, selecione a opção New.

Agora, copie o seguinte código e cole no projeto do Arduino IDE. Dentro do Arduino IDE, clique na opção Verify para ter certeza de que não há erros no código.

/*
    Como Usar o Sensor de Som KY-037 usando sinal digital para Acender LED usando Arduino 
    
    Para mais guias e tutoriais: https://www.thecircuitmaker.com
*/

int digitalPin = 2;

void setup(){
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(digitalPin, INPUT);
}

void loop(){
  int digital = digitalRead(digitalPin);

  if (digital == HIGH )
  {
    digitalWrite (3, HIGH);
    digitalWrite (4, HIGH);
    digitalWrite (5, HIGH);
    digitalWrite (6, HIGH);
    digitalWrite (7, HIGH);
    digitalWrite (8, HIGH);
    digitalWrite (9, HIGH);
  }
  else
  {
    digitalWrite (3, LOW);
    digitalWrite (4, LOW);
    digitalWrite (5, LOW);
    digitalWrite (6, LOW);
    digitalWrite (7, LOW);
    digitalWrite (8, LOW);
    digitalWrite (9, LOW);
   }
}

Finalmente, carregue o código para o Arduino. Para fazer isso, certifique-se de ter o Arduino conectado ao seu computador usando o Cabo USB de Sincronização de Dados Arduino UNO. Em seguida, vá para o Arduino IDE e clique na opção de menu Sketch e selecione a opção Upload.

Entendendo o Código

Primeiro, definimos uma variável chamada digitalPin para armazenar o número do pino digital que recebe o sinal digital do sensor de som.

int digitalPin = 2;

Na função setup do código, configuramos o digitalPin como modo INPUT usando a função pinMode. No Arduino, você pode configurar diferentes modos de pino: INPUT, OUTPUT, ou INPUT_PULLUP. Usamos o modo INPUT para configurar o digitalPin para receber sinais.

Além disso, observe como configuramos os pinos 3 a 9 como OUTPUT para que possamos posteriormente emitir uma tensão para as luzes LED.

void setup(){
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(digitalPin, INPUT);
}

Finalmente, na seção loop, programamos a lógica que liga e desliga a luz LED baseada no valor do sinal digital recebido do sensor de som.

void loop(){
  int digital = digitalRead(digitalPin);

  if (digital == HIGH )
  {
    digitalWrite (3, HIGH);
    digitalWrite (4, HIGH);
    digitalWrite (5, HIGH);
    digitalWrite (6, HIGH);
    digitalWrite (7, HIGH);
    digitalWrite (8, HIGH);
    digitalWrite (9, HIGH);
  }
  else
  {
    digitalWrite (3, LOW);
    digitalWrite (4, LOW);
    digitalWrite (5, LOW);
    digitalWrite (6, LOW);
    digitalWrite (7, LOW);
    digitalWrite (8, LOW);
    digitalWrite (9, LOW);
   }
}

A função digitalWrite determina se deve emitir 0V ou 5V de um pino específico.

  • Quando usamos a função digitalWrite usando HIGH, significa que a tensão saindo de um número de pino específico será 5V.
  • Quando usamos a função digitalWrite usando LOW, significa que a tensão saindo de um número de pino específico será 0V.

Resultado

Dependendo do valor da resistência definido no potenciômetro, as luzes LED serão automaticamente ligadas ou desligadas. Se as luzes LED estiverem acesas, diminua a sensibilidade do sensor ajustando o potenciômetro até as luzes LED se apagarem.

Uma vez que a sensibilidade do sensor esteja ajustada, sinta-se à vontade para fazer ruído perto do microfone do KY-037 para ver se as luzes LED começam a piscar. No nosso caso, tocamos música perto do circuito para ver como as luzes LED ligam e desligam baseadas nas batidas de uma música, e os resultados variaram baseados na música que tocamos. Felizmente, encontramos uma boa música, e com um pouco de ajuste de sensibilidade do sensor de som, obtivemos bons resultados, que você pode conferir no seguinte vídeo.

Conectar o sensor de som KY-037 usando saída analógica para acender luzes LED usando Arduino

Neste segundo tutorial, vamos construir um circuito similar para ligar e desligar luzes LED usando o sensor de som KY-037. Neste caso, vamos usar a saída analógica do KY-037.

Diagrama da Protoboard

Confira o seguinte diagrama para construir o circuito. Se você construiu o circuito onde o sensor KY-037 usa a saída digital, você descobrirá que quase todas as conexões permanecem as mesmas.

Diagrama da Protoboard - Sensor de Som KY-037 conectado ao Arduino usando saída analógica
Diagrama da Protoboard - Sensor de Som KY-037 conectado ao Arduino usando saída analógica

Nota: Infelizmente, não conseguimos encontrar uma imagem do sensor de som com 4 pinos ao projetar o diagrama. No entanto, observe os pinos do KY-037 usados neste circuito são:

  • +: pino que recebe a tensão para alimentar o sensor. Neste circuito, o pino 5V do Arduino está fornecendo a fonte de alimentação
  • G: pino conectado ao terra
  • DO: pino NÃO usado neste circuito
  • AO: pino conectado ao pino analógico 5 do Arduino

Finalmente, os pinos digitais 3 - 9 do Arduino estão cada um conectados a um resistor de 220Ω e uma luz LED.

Carregue o Código

Agora, copie o seguinte código e cole no projeto do Arduino IDE. Dentro do Arduino IDE, clique na opção Verify para ter certeza de que não há erros no código.

/*
    Como Usar o Sensor de Som KY-037 usando sinal analógico para Acender LED usando Arduino 
    
    Para mais guias e tutoriais: https://www.thecircuitmaker.com
*/

int analogPin = A5;

void setup(){
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(analogPin, INPUT);
}

void loop(){
  int analog = analogRead(analogPin);
  Serial.println(analog);
  
  if (analog >= 500)
  {
    digitalWrite (3, HIGH);
    digitalWrite (4, HIGH);
    digitalWrite (5, HIGH);
    digitalWrite (6, HIGH);
    digitalWrite (7, HIGH);
    digitalWrite (8, HIGH);
    digitalWrite (9, HIGH);
  }
  else
  {
    digitalWrite (3, LOW);
    digitalWrite (4, LOW);
    digitalWrite (5, LOW);
    digitalWrite (6, LOW);
    digitalWrite (7, LOW);
    digitalWrite (8, LOW);
    digitalWrite (9, LOW);
  }
}

Depois de verificar que não há erros, carregue o código para o Arduino. Para fazer isso, certifique-se de ter o Arduino conectado ao seu computador usando o Cabo USB de Sincronização de Dados Arduino UNO. Em seguida, vá para o Arduino IDE e clique na opção de menu Sketch e selecione a opção Upload.

Entendendo o Código

O código é muito similar ao código usado para conectar as luzes LED baseado no sinal digital emitido pelo sensor de som. Neste caso, estamos definindo a variável analogPin para armazenar o valor do pino analógico.

Em seguida, dentro da função setup, definimos o analogPin com um modo de pino INPUT.

Finalmente, na seção loop, lemos o valor analógico do analogPin usando a função analogRead e o comparamos contra um valor de referência que determina se deve ligar ou desligar as luzes LED.

Observe que imprimimos o valor analógico usando Serial.println(analog);. Desta forma, sempre que carregamos o código para o Arduino, podemos verificar logs do valor emitido pela saída analógica do sensor de som sempre que não há som.

Para verificar os logs, vá para o menu superior do Arduino IDE, selecione Tools. Em seguida, clique em Serial Monitor. Certifique-se de fazer isso sempre que o Arduino estiver conectado ao computador e o código estiver carregado. Você verá números sendo exibidos imediatamente.

Conforme você ajusta o potenciômetro do KY-037, esses valores analógicos mudarão. Ajuste o potenciômetro até ver que os números estão abaixo do número de referência usado no código, que é 500.

Conclusão

Neste tutorial, você aprendeu sobre o sensor de som KY-037 e como conectá-lo ao Arduino seja usando o pino digital ou o pino analógico para receber sinais do sensor. Embora o resultado final do circuito tenha sido ligar e desligar luzes LED baseado no sensor de som, agora você pode ter uma melhor ideia de como dispositivos, como câmeras podem enviar notificações de alerta baseadas na detecção de som.

Você gostou deste artigo?

Espero que este artigo tenha sido não apenas útil, mas também educativo. Se você gostou, compartilhe este artigo com amigos que estão interessados em eletrônica e gostam de fazer projetos divertidos.

Se você tiver dúvidas, perguntas, ou encontrar problemas ao seguir este tutorial, não hesite em deixar um comentário na seção abaixo.

Note que comentários são retidos para moderação para prevenir spam.