Arduino - Sensor de Vibração SW-420
Choques, batidas e tremores são fáceis de sentirmos, mas difíceis para um Arduino sozinho perceber. O módulo sensor de vibração SW-420 preenche essa lacuna: ele monitora perturbações mecânicas e as informa como um sinal digital simples, o que é útil para alarmes de segurança, registradores de impacto ou qualquer projeto que precise reagir quando algo é batido ou sacudido.
Neste tutorial, vamos aprender:
- Como ligar um módulo sensor de vibração SW-420 ao Arduino
- Como programar o Arduino para detectar vibração ou choque com o módulo SW-420

Depois que o sketch básico estiver funcionando, você pode ampliá-lo para soar um buzzer, piscar um LED ou enviar um alerta sempre que uma vibração for captada.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Vibração SW-420
O módulo sensor de vibração SW-420 reage a tremores, batidas ou choques ao seu redor. Dentro do módulo há uma pequena chave baseada em mola posicionada perto de um contato metálico; quando uma vibração perturba a mola, um comparador LM393 integrado transforma essa perturbação mecânica em um sinal digital limpo, de modo que o Arduino só precisa ler um pino em HIGH ou LOW em vez de lidar com leituras analógicas ruidosas.
Pinagem do Sensor de Vibração SW-420
O módulo SW-420 disponibiliza três pinos:
- Pino VCC: precisa ser conectado ao VCC (3.3V a 5V)
- Pino GND: precisa ser conectado ao GND (0V)
- Pino DO: é um pino de saída: LOW enquanto tudo está parado, HIGH no momento em que uma vibração ou choque é detectado. Este pino precisa ser conectado a um pino de entrada do Arduino.

Há dois LEDs na placa:
- Um LED indicador de alimentação
- Um LED indicador que acende sempre que o pino DO vai para HIGH (vibração detectada)
Um pequeno potenciômetro na placa permite aumentar ou diminuir a sensibilidade, de modo que toques leves ou apenas choques mais fortes possam acionar a saída, dependendo de como você o girar.
Como Funciona
- Enquanto o módulo está parado, a chave de mola permanece aberta, o comparador mantém sua saída em LOW e o LED de acionamento fica apagado.
- Quando uma vibração ou choque perturba a mola, a chave fecha momentaneamente, o comparador leva a saída para HIGH e o LED de acionamento acende.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar o Sensor de Vibração SW-420
- Configura o pino do Arduino no modo de entrada digital com a função pinMode(). Por exemplo, o pino 5
- Obtém o nível lógico atual desse pino com a função digitalRead().
Código Arduino - Detectando vibração
Passos Rápidos
- Copie o código acima e abra-o com o Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Bata levemente ou sacuda o módulo SW-420 com cuidado
- Veja o resultado no Serial Monitor.
A partir daqui, você pode acionar um buzzer, acender um LED ou enviar uma notificação sempre que uma vibração aparecer. Você pode encontrar mais informações e instruções passo a passo nos tutoriais fornecidos no final deste tutorial.
Solução de Problemas
Se o sensor de vibração SW-420 não estiver funcionando corretamente, tente os seguintes passos:
- Ajuste a sensibilidade: Gire o potenciômetro da placa para deixar o módulo mais ou menos sensível; se ele nunca disparar, tente girá-lo para o outro lado.
- Isole o módulo: Máquinas próximas, ventiladores ou passos podem sacudir a superfície onde ele está montado e causar disparos falsos, então monte-o longe de fontes de vibração não relacionadas.
- 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 esteja estável para leituras consistentes.