ESP8266 - Sensor de Som

O sensor de som é capaz de detectar a presença de som ao seu redor. Ele pode ser usado para criar projetos que respondem a sons, como luzes que acendem com uma palma ou um alimentador de pets que responde a sinais sonoros.

Este tutorial ensina você a usar o ESP8266 e um sensor de som para detectar som. Vamos explorar:

ESP8266 NodeMCU NodeMCU sensor de som

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

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
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×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

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 seu 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 o valor do sinal analógico e do sinal 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 um som for detectado. Este pino precisa ser conectado a um pino de entrada do ESP8266.
Pinagem do Sensor de Som
image source: diyables.io

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

  • Um LED indica o estado da alimentação
  • Outro LED indica o estado do som: ele acende quando um som é detectado e apaga 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 um som for detectado. Este pino precisa ser conectado a um pino de entrada digital do ESP8266.
  • 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 ESP8266.
Pinagem do sensor de som analógico
image source: diyables.io

Como Funciona

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

  • Quando um som é detectado, o pino de saída do sensor é colocado em LOW.
  • Quando nenhum som é detectado, o pino de saída do sensor é colocado em HIGH.

Diagrama de Ligação

  • O diagrama de ligação entre o ESP8266 e o sensor de som quando alimentado pela porta USB
Diagrama de Ligação do Sensor de Som com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

  • O diagrama de ligação entre o ESP8266 e o sensor de som quando alimentado pelo Vin
Diagrama de Ligação do Sensor de Som com ESP8266 NodeMCU via Vin

This image is created using Fritzing. Click to enlarge image

Como Programar o Sensor de Som

  • Inicializa o pino do ESP8266 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino D7
pinMode(D7, INPUT);
  • Lê o estado do pino do ESP8266 usando a função digitalRead().
int soundState = digitalRead(D7);

Código ESP8266 - Detectando o som

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-sound-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to the OUT pin of the sound sensor int prev_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 ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the ESP8266's input pin sound_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_state = sound_state; }

Passos Rápidos

Para começar com o ESP8266 na Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for sua primeira vez usando o ESP8266.
  • Conecte os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Copie o código acima e abra com a Arduino IDE
  • Clique no botão Upload na Arduino IDE para fazer upload do código para o ESP8266
  • 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
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

Lembre-se de que, se você notar o LED constantemente aceso ou apagado, independentemente da presença de som, você pode ajustar a sensibilidade do sensor de som girando o potenciômetro.

Agora, com o código personalizado, podemos fazer com que ele acione um LED ou uma luz quando um som for detectado. Podemos até fazer um servo motor girar. Para instruções detalhadas e mais informações, consulte os tutoriais indicados no final deste guia.

Solução de Problemas

Se você tiver problemas com o sensor de som não funcionando corretamente, tente 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. Montá-lo em uma superfície estável pode ajudar a minimizar essas perturbações.
  • Considere o alcance de detecção: Lembre-se de que este sensor de som específico tem um alcance de detecção limitado de aproximadamente 10 polegadas. Para obter leituras precisas, tente gerar o som mais perto do sensor.
  • Verifique a fonte de alimentação: Garanta que a fonte de alimentação esteja limpa e livre de ruído, pois o sensor de som é sensível a perturbações na 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!