Arduino Nano ESP32 - Sensor de Som

O sensor de som tem a capacidade de detectar a presença de som no ambiente ao redor. Ele pode ser usado para criar projetos modernos que respondem a som, como luzes que acendem com uma palma ou um alimentador de animais de estimação que reage ao som.

Neste tutorial, vamos aprender como usar o Arduino Nano ESP32 e um sensor de som para detectar som. Vamos nos aprofundar nos seguintes pontos:

Arduino Nano ESP32 sound sensor

Depois disso, você tem a flexibilidade de modificar o código para acionar um LED ou uma luz (usando um relé) ao detectar som, ou até mesmo fazer um servo motor girar.

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Som Digital
1×Sensor de Som Analógico
1×Protoboard
1×Fios Jumper
1×(Opcional) 5V Power Adapter for ESP8266
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

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 de sensor de som:

  • Módulo de sensor de som digital: fornece o valor do sinal digital (ON/OFF)
  • Módulo de sensor de som analógico: fornece tanto o valor do sinal analógico quanto o do digital

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

Pinagem do Sensor de Som Digital

O sensor de som possui três pinos:

  • Pino VCC: precisa ser conectado ao VCC (3.3V a 5V)
  • Pino GND: precisa ser conectado ao GND (0V)
  • Pino OUT: é um pino de saída: HIGH se estiver silencioso e LOW se o som for detectado. Este pino precisa ser conectado a um pino de entrada do ESP32.
Sound Sensor Pinout
image source: diyables.io

O sensor de som possui um prático potenciômetro embutido que permite ajustar facilmente a sua sensibilidade. Além disso, ele vem com dois indicadores LED:

  • Um indicador LED mostra o estado da alimentação.
  • Outro indicador LED indica o estado do som, acendendo quando o som é detectado e apagando quando está silencioso.

Pinagem do Sensor de Som Analógico

O sensor de som analógico possui quatro pinos:

  • Pino +: precisa ser conectado ao 5V
  • Pino G: precisa ser conectado ao GND (0V)
  • Pino DO: é um pino de saída digital: HIGH se estiver silencioso e LOW se o som for detectado. Este pino precisa ser conectado a um pino de entrada digital do Arduino Nano ESP32.
  • Pino AO: é um pino de saída analógica: fornece o valor analógico que indica o nível de som. Este pino precisa ser conectado a um pino de entrada analógica do Arduino Nano ESP32.
analog sound sensor Pinout
image source: diyables.io

Como Funciona

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

  • Quando o som é detectado, o pino de saída é definido como LOW.
  • Quando o som não é detectado, o pino de saída é definido como HIGH.

Diagrama de Ligação

The wiring diagram between Arduino Nano ESP32 and Sound Sensor

This image is created using Fritzing. Click to enlarge image

Como Programar para o Sensor de Som

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

Código Arduino Nano ESP32 - Detectando o som

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-sound-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the OUT pin of the sound sensor int prev_sound_state = HIGH; // The previous state from the input pin int sound_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 sound_state = digitalRead(SENSOR_PIN); if (prev_sound_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_sound_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_sound_state = sound_state; }

Passos Rápidos

  • Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Copie o código acima e abra com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para fazer upload do código para o Arduino Nano ESP32
  • Bata palmas na frente do sensor de som
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

Lembre-se de que, se você notar que o estado do LED permanece constantemente aceso ou apagado, mesmo com som presente, talvez seja necessário ajustar o potenciômetro para regular a sensibilidade do sensor ao som.

Agora, temos a liberdade de personalizar o código e fazer com que ele acione um LED ou uma luz quando o som for detectado. Podemos até fazer um servo motor girar de acordo com a entrada de som. Para orientações mais detalhadas e instruções passo a passo, você pode consultar os tutoriais fornecidos no final deste tutorial.

Solução de Problemas

Se você encontrar 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 em particular tem um alcance de detecção limitado de aproximadamente 10 polegadas. Para leituras precisas, tente produzir o som mais perto do sensor.
  • Verifique a fonte de alimentação: Certifique-se de que a fonte de alimentação esteja limpa e livre de ruído, pois o sensor de som é sensível a interferências na fonte de alimentação devido à sua natureza analógica.

Vídeo

Referências de Funções

Tutoriais Relacionados

※ 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!