El módulo SW-420 es un sensor de vibración que incorpora comparador LM393 que permite tener una salida digital, esta salida tienen 2 niveles lógicos 0 y 1 que puede usarse para leer y ser interpretado a través de una tarjeta de desarrollo como Arduino, NodeMCU, ESP32 o cualquier microcontrolador. Además este módulo cuenta con un potenciómetro que permite ajustar la sensibilidad del sensor.
Es utilizado como un interruptor digital ya que permite detectar vibraciones producidas por golpes o movimientos, al detectar movimiento manda un pulso alto o “1” a su salida y al no detectar vibración la salida se mantiene en estado bajo o “0”.
Se utiliza para desarrollar prototipos como: Sistemas de alarma, detector de sismos, construir una alarma antirrobo, detector para rotura de ventana y otras aplicaciones.
Ficha Técnica
- Modelo: SW-420
- Tipo de elemento: Sensor
- Nombre común: Sensor Vibrador
- Fenómeno físico: Detección de vibración mecánica
- Voltaje de trabajo (VCC): 3.3v – 5v
- Consumo: <15mA
- Fabricante:
- Componentes a destacar:
- Comparador: LM393
- Tamaño:
- Entrada: Activación por la presencia de una perturbación neánica que genere movimiento o vibración
- Salida: Señal digital de tensión VCC
- Librerías recomendadas para Arduino IDE:
- No se requieren librerías externas para su uso.
- Declaración del pin de lectura: https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/
- Lectura del pin asignado: https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/
Dimensiones y pinout
- Dimensiones: 32 x 14 x 7 mm
- Peso bruto: 10 g
Pin Name | Descripción |
VCC | Es el pin que alimenta el módulo, puede funcionar a 5V o 3.3V. |
GND | Es el pin de tierra, debe conectarse a la tierra de la fuente de alimentación. |
DO | Es el pin de la salida de datos (Digital Out). La señal sale con la misma tensión que con la que se alimente el módulo (VCC). |
Diagrama de montaje
Montaje para lectura digital
Código de ejemplo para Arduino de lectura digital SW420
const int sensorPin = 3;
void setup()
{
Serial.begin(9600);
pinMode(sensorPin, INPUT);
}
void loop(){
int sensorValue = digitalRead(sensorPin);
if (sensorValue == HIGH){
Serial.println("Vibration detected");
if (sensorValue == LOW){
Serial.println("No vibration detected");
}
delay(50);
}