ESP32 - Sensor de Vibração SW-420

O módulo sensor de vibração SW-420 consegue captar impactos, batidas e tremores ao seu redor, transformando uma simples perturbação mecânica em um sinal digital que o seu ESP32 pode usar.

Neste tutorial, vamos aprender como usar o ESP32 e um sensor de vibração SW-420 para detectar vibração. Vamos abordar o seguinte:

ESP32 sensor de vibração SW-420

Depois que a detecção básica estiver funcionando, você pode ampliar o código para acionar um buzzer, piscar um LED ou enviar uma notificação sempre que uma vibração for captada.

Sobre o Sensor de Vibração SW-420

O módulo sensor de vibração SW-420 foi feito para perceber impactos e tremores no objeto em que está montado. Dentro do módulo, uma pequena chave de vibração com mola fica perto de um contato metálico; um comparador LM393 na placa monitora essa chave e gera um sinal digital limpo sempre que vibração ou impacto a perturba, enquanto um potenciômetro na placa permite ajustar o quanto de tremor é necessário para acionar a saída.

Pinagem do Sensor de Vibração SW-420

O sensor de vibração SW-420 tem três pinos:

  • Pino VCC: deve ser conectado ao VCC (3,3V a 5V)
  • Pino GND: deve ser conectado ao GND (0V)
  • Pino DO: é um pino de saída: LOW quando o sensor está em repouso e HIGH quando vibração ou impacto é detectado. Este pino deve ser conectado a um pino de entrada do ESP32.
Pinagem do Sensor de Vibração SW-420
image source: diyables.io

O módulo sensor de vibração SW-420 tem dois indicadores LED:

  • Um indicador LED mostra o estado da alimentação.
  • O outro indicador LED acende sempre que o pino DO vai para HIGH, sinalizando que uma vibração foi detectada.

Como Funciona

Veja como o pino de saída do sensor se comporta:

  • Quando o módulo está parado, a chave interna fica aberta e o pino de saída fica em LOW.
  • Quando vibração ou impacto perturba o módulo, a chave interna fecha por um instante e o pino de saída vai para HIGH.

Diagrama de Ligação

  • Como conectar o ESP32 e o sensor de vibração SW-420 usando uma protoboard
Diagrama de Ligação do ESP32 com Sensor de Vibração SW-420

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 vibração SW-420

Como Programar o Sensor de Vibração SW-420

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

Código ESP32 - Detectando a vibração

/* * 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-sw-420-vibration-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the DO pin of the SW-420 vibration sensor int lastState = LOW; // the previous state from the input pin (idle/resting state) 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 ESP32's input pin currentState = digitalRead(SENSOR_PIN); if (lastState == LOW && currentState == HIGH) Serial.println("Vibration detected"); else if (lastState == HIGH && currentState == LOW) Serial.println("Vibration stopped"); // 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 do ESP32 no Arduino IDE.
  • Copie o código acima e abra no Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no ESP32
  • Toque ou balance o sensor SW-420
  • 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
Vibration detected Vibration stopped Vibration detected Vibration stopped
Ln 11, Col 1
ESP32 Dev Module on COM15
2

A partir daqui, você está livre para personalizar o código para acionar um buzzer, piscar um LED ou enviar um alerta sempre que uma vibração for detectada. Para orientações mais detalhadas e instruções passo a passo, você pode consultar os tutoriais indicados no final deste tutorial.

Solução de Problemas

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

  • Ajuste a sensibilidade: Gire o potenciômetro da placa para deixar o sensor mais ou menos sensível se ele disparar com facilidade demais ou não disparar.
  • Isole de vibrações do ambiente: Monte o sensor longe de motores, ventiladores ou superfícies que vibram constantemente, pois isso pode causar disparos falsos contínuos.
  • Verifique a ligação: Certifique-se de que os pinos VCC, GND e DO estejam conectados corretamente.
  • Verifique a fonte de alimentação: Garanta que a fonte de alimentação seja limpa e estável para leituras consistentes.

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!