El sensor de vibración SW-420 detecta sacudidas, golpes e inclinaciones a través de un resorte metálico interno que cierra el circuito al vibrar. Es simple, confiable y perfecto para alarmas de bajo consumo energético.
Cómo Funciona el SW-420
Dentro del sensor hay un resorte helicoidal en contacto con un polo central. En reposo, el resorte no toca el polo y el circuito está abierto. Al vibrar o inclinarse, el resorte toca el polo y cierra el circuito, generando un pulso eléctrico. El módulo incluye el comparador LM393 con potenciómetro para ajustar la sensibilidad.
Conexión
| SW-420 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 (interrupt) |
Código: Alarma con Interrupción
const int PIN_SENSOR = 2;
const int PIN_BUZZER = 8;
const int PIN_LED = 13;
volatile bool vibracion = false;
unsigned long ultimaVibracion = 0;
const unsigned long SILENCIO = 5000; // ms de alarma
void detectarVibracion() {
vibracion = true;
}
void setup() {
Serial.begin(9600);
pinMode(PIN_SENSOR, INPUT);
pinMode(PIN_BUZZER, OUTPUT);
pinMode(PIN_LED, OUTPUT);
attachInterrupt(digitalPinToInterrupt(PIN_SENSOR),
detectarVibracion, CHANGE);
}
void loop() {
if (vibracion) {
vibracion = false;
ultimaVibracion = millis();
Serial.println("¡Vibración detectada!");
}
bool alarmando = (millis() - ultimaVibracion) < SILENCIO;
digitalWrite(PIN_BUZZER, alarmando ? HIGH : LOW);
digitalWrite(PIN_LED, alarmando ? HIGH : LOW);
}
Ajuste de Sensibilidad
El potenciómetro del módulo controla el umbral de activación. Gira en sentido horario para menor sensibilidad (solo detecta golpes fuertes) y antihorario para mayor sensibilidad (detecta vibraciones leves). El LED del módulo se enciende cuando se activa — úsalo para calibrar en tiempo real.
Proyectos
- Alarma de bicicleta: detecta si alguien mueve la bici; activa buzzer y notificación
- Alarma de auto: sensor pegado al chasis detecta golpes y abre la alarma
- Vitrina anti-robo: activa la alarma si alguien abre o golpea el vidrio
- Detector de terremotos casero: registra la hora de cada vibración con DS3231