ESP32 - Sensor de Som

O sensor de som consegue detectar a presença de som no ambiente ao redor. Ele pode ser usado para criar projetos legais que respondem a som, como luzes que acendem com uma palma ou um alimentador de pets que reage a sons.

Neste tutorial, vamos aprender a usar o ESP32 e um sensor de som para detectar som. Vamos ver:

Sensor de som do ESP32

Depois disso, você pode modificar o código para acionar um LED ou uma lâmpada (usando um relé) quando um som for detectado, ou até fazer um servo motor girar.

Sobre o Sensor de Som

O sensor de som pode ser usado para detectar som no ambiente ao redor. Existem dois tipos de módulo sensor de som:

  • Módulo sensor de som digital: envia o valor do sinal digital (ON/OFF)
  • Módulo sensor de som analógico: envia o valor do sinal analógico e também o digital

A sensibilidade da saída digital pode ser ajustada com um potenciômetro embutido.

Pinagem do Sensor de Som Digital

O sensor de som digital tem três pinos:

  • Pino VCC: deve ser conectado a VCC (3.3V a 5V)
  • Pino GND: deve ser conectado a GND (0V)
  • Pino OUT: é um pino de saída: HIGH quando está silencioso e LOW quando um som é detectado. Esse pino deve ser conectado a um pino de entrada do ESP32.
Pinagem do sensor de som
image source: diyables.io

O sensor de som tem um potenciômetro embutido muito prático, que permite ajustar facilmente a sensibilidade. Além disso, ele tem dois LEDs indicadores:

  • Um LED indicador mostra o estado da alimentação.
  • O outro LED indicador mostra o estado do som: acende quando um som é detectado e apaga quando está silencioso.

Pinagem do Sensor de Som Analógico

O sensor de som analógico tem quatro pinos:

  • Pino +: deve ser conectado a 5V
  • Pino G: deve ser conectado a GND (0V)
  • Pino DO: é um pino de saída digital: HIGH quando está silencioso e LOW quando um som é detectado. Esse pino deve ser conectado a um pino de entrada digital do ESP32.
  • Pino AO: é um pino de saída analógica: envia o valor analógico que indica o nível do som. Esse pino deve ser conectado a um pino de entrada analógica do ESP32.
Pinagem do sensor de som analógico
image source: diyables.io

O sensor de som analógico tem um potenciômetro embutido muito prático, que permite ajustar facilmente a sensibilidade da saída digital. Além disso, ele tem dois LEDs indicadores:

  • Um LED indicador mostra o estado da alimentação.
  • O outro LED indicador mostra o estado do som: acende quando um som é detectado e apaga quando está silencioso.

Como Funciona

O módulo tem um potenciômetro embutido muito prático, que permite ajustar a sensibilidade ao som. Veja como o pino de saída do sensor se comporta:

  • Quando um som é detectado, o pino de saída vai para LOW.
  • Quando nenhum som é detectado, o pino de saída vai para HIGH.

Diagrama de Ligação

  • Como conectar o ESP32 e o sensor de som usando uma protoboard
Diagrama de Ligação do ESP32 com Sensor de Som

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Como conectar o ESP32 e o sensor de som

Como Programar o Sensor de Som

  • Inicialize o pino do ESP32 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino GPIO18
pinMode(18, INPUT);
  • Leia o estado do pino do ESP32 usando a função digitalRead().
int soundState = digitalRead(18);

Código ESP32 - Detectando o som

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-sound-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the OUT pin of the sound sensor int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the ESP32's input pin currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The sound has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The sound has disappeared"); // save the the last state lastState = currentState; }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
  • Copie o código acima e abra no Arduino IDE
  • Clique no botão Upload do Arduino IDE para fazer o upload do código para o ESP32
  • Bata palmas na frente do sensor de som
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Lembre-se: se o LED ficar sempre aceso ou sempre apagado, mesmo com som presente, talvez você precise ajustar o potenciômetro para regular a sensibilidade do sensor ao som.

Agora temos a liberdade de personalizar o código e fazê-lo acionar um LED ou uma lâmpada quando um som for detectado. Podemos até fazer um servo motor girar de acordo com o som captado. Para orientações mais detalhadas e passo a passo, consulte os tutoriais indicados no final deste tutorial.

Solução de Problemas

Se você tiver algum problema com o funcionamento do sensor de som, considere os seguintes passos de solução de problemas:

  • Reduza as vibrações: Vibrações mecânicas e ruído de vento podem afetar o desempenho do sensor de som. Para minimizar essas perturbações, tente montar o sensor de som em uma superfície estável.
  • Considere o alcance de detecção: Lembre-se de que este sensor de som tem um alcance de detecção limitado, de cerca de 10 polegadas (aproximadamente 25 cm). Para leituras precisas, tente produzir o som mais perto do sensor.
  • Verifique a fonte de alimentação: Garanta que a fonte de alimentação seja limpa e sem ruído, pois o sensor de som é sensível a interferências na alimentação por causa da sua natureza analógica.

Vídeo

Referências de Funções

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!