Inicio » Kits para Arduino » Kit de 37 sensores para Arduino » Módulo interruptor de vibración KY-002

¿Qué es un módulo interruptor de vibración?

El módulo KY-002 es un módulo compatible con Arduino que lleva integrado un interruptor de vibración SW-18015P.

Es un dispositivo electónico que se comporta como un interruptor. Se activa cuando detecta impactos o vibraciones y se desactiva cuando permanece en reposo.

Módulo KY-002
Módulo KY-002

Forma parte del kit de 37 sensores compatible con Arduino, pero también se puede comprar de forma independiente.

¿Para qué sirve el módulo KY-002?

El módulo KY-002 se utiliza para detectar vibraciones o movimientos físicos y activar o desactivar una función en respuesta a estos cambios. Este tipo de interruptor es comúnmente utilizado en una variedad de aplicaciones, desde dispositivos electrónicos pequeños hasta sistemas más grandes.

Algunos de los usos comunes de este tipo de interruptor incluyen:

  • Dispositivos de juego: Algunos controladores de juegos tienen interruptores de vibración que generan retroalimentación táctil en respuesta a eventos en el juego. Por ejemplo, el controlador puede vibrar cuando el jugador choca con un obstáculo o recibe daño.
  • Sistemas de alarma: Los interruptores de vibración se utilizan en sistemas de seguridad para detectar intentos de manipulación o vibraciones inusuales en puertas, ventanas o cajas de seguridad. Esto puede activar una alarma para alertar sobre posibles intrusiones.
  • Juguetes y dispositivos electrónicos interactivos: En algunos juguetes y dispositivos electrónicos interactivos, los interruptores de vibración se utilizan para activar respuestas específicas al movimiento. Por ejemplo, un juguete puede emitir sonidos o luces cuando se mueve.
  • Equipos industriales: En entornos industriales, los interruptores de vibración pueden ser utilizados para monitorear la vibración de maquinaria. Detectar vibraciones inusuales puede ayudar a prevenir problemas y realizar mantenimiento preventivo.
  • Electrodomésticos: Algunos electrodomésticos, como lavadoras, secadoras o lavavajillas, pueden utilizar interruptores de vibración para detectar la finalización de ciertos ciclos o para indicar problemas en el funcionamiento.
  • Automóviles: En vehículos, los interruptores de vibración pueden utilizarse en sistemas de airbags para detectar colisiones y desplegar los airbags en consecuencia.

Especificaciones del módulo KY-002

Estructura física

Como ya mencioné al inicio, el módulo lleva conectado un interruptor de vibración SW-18015P:

Interruptor SW-18015P
Interruptor SW-18015P

Y una resistencia de 10Kohms conectada al pin de alimentación:

Resistencia módulo KY-002

Dispone de 3 pines, directamente conectados al sensor, que permiten una conexión muy sencilla en placas de prototipado y con microcontroladores, como Arduino:

Los pines del módulo son los siguientes:

  • OUT: Salida digital del módulo. Etiquetada con S. Envía un pulso alto (HIGH) cuando se produce una vibración y un pulso bajo (LOW) cuando está en reposo.
  • VCC: Alimentación del módulo. Es el pin central sin etiqueta. Soporta voltajes de entre 3.3V a 5V sin necesidad de resistencia.
  • GND: Pin de conexión a tierra. Etiquetado como -.

Especificaciones técnicas

Tensión de alimentación3.3V a 5V
Dimensiones18,5 mm x 15 mm
Temperatura de trabajo-40ºC a 80ºC

¿Cómo funciona el interruptor de vibración?

El interruptor de vibración tiene dos terminales y un cuerpo tubular.

Si quitas la película protectora que recubre el cuerpo del interruptor puedes ver que los terminales se extienden dentro del mismo. El filamento más fino en forma de muelle rodeando al otro:

estructura interna interruptor vibración

Cuando se produce un impacto o una vibración el muelle se mueve y entra en contacto con el otro terminal, lo que hace que se cierre el circuito (es similar a presionar un pulsador). Cuando las vibraciones se detienen el muelle vuelve a su estado de reposo y deja de estar en contacto con el otro terminal. Esto hace que el circuito se abra (igual que soltar un pulsador).

¿Cómo conectar el módulo KY-002 con Arduino?

Materiales

En la siguiente tabla tienes la lista de materiales necesarios para conectar el módulo KY-002 con Arduino:

Una placa Arduino (Yo usaré Arduino UNO)
Un módulo KY-002
Cables
Una protoboard
Un ordenador con el IDE de Arduino instalado

Conexiones

Puedes ver en la siguiente imagen cómo conectar el módulo con Arduino:

La salida digital del módulo (S) va conectado con un pin digital. Yo he elegido el pin digital 2, pero puedas usar cualquier otro.

Los otros dos pines no tienen mucho misterio. El pin central (VCC) es el pin de alimentación, por lo que va conectado a los 5V de Arduino. El tercer pin (-) va conectado a tierra (GND).

¿Cómo programar el módulo KY-002 con Arduino?

La programación es similar a la de un interruptor. En el siguiente sketch puedes ver el código necesario:

 //DECLARACIONES
const int KY002 = 2;

//CONFIGURACIÓN
void setup () {
  Serial.begin(9600);
	pinMode(KY002, INPUT);
} 

//FUNCIÓN LOOP
void loop () {
	if (digitalRead(KY002) == HIGH ) { 
		Serial.println("Vibración detectada");
	}
}

Declaraciones

Primero declaramos una constante con el número del pin digital en el que está conectado el módulo:

const int KY002 = 2;

Si lo has conectado a otro pin cambia el 2 por el valor correspondiente.

Configuración

Dentro de la función setup() vamos a configurar dos cosas:

void setup () {
  Serial.begin(9600);
	pinMode(KY002, INPUT);
}

Usaremos el monitor serie para comprobar el valor que recibimos a través del pin digital, por eso inicializamos el puerto serie con Serial.begin(9600).

Por otro lado, tenemos que configurar el pin digital el el que está el módulo conectado como entrada (INPUT) para comprobar si recibimos un pulso alto (HIGH) o un pulso bajo (LOW). Para ello usamos la instrucción pinMode(KY002, INPUT).

Y con esto tendriamos todas las configuraciones necesarias.

Función loop

Dentro de la función loop analizaremos el pin digital KY002 para comprobar si se ha producido una vibración o no.

void loop () {
	if (digitalRead(KY002) == HIGH ) { 
		Serial.println("Vibración detectada");
	} 
}

La instrucción digitalRead(KY002) nos devuelve HIGH si hay vibración y LOW en caso contrario. Con la ayuda de un if podemos comprobar el valor devuelto.

Si el valor es HIGH la condición del if será true (digitalRead(KY002) == HIGH) por lo que mostramos «Vibración detectada» en el monitor serie utilizando Serial.println(«Vibración detectada»).

Por el contrario, si el valor es LOW la condición del if es false. En este caso no muestra nada en el monitor serie.

Como ya sabes, la función loop() es un bucle infinito, por lo que la comprobación se realizará constantemente y podremos detectar una vibración de forma inmediata.

Ahora carga el sketch en tu Arduino y ejecútalo. Si dejas el sensor en reposo no deberías ver nada en el monitor serie. Ahora golpea un poco el sensor (sin pasarte, que no queremos romperlo 😄​). Deberías ver en el monitor serie el mensaje «Vibración detectada»:

Vibración detectada KY-002

Te avisaré cuando publique nuevo contenido en paraarduino.com y en mi canal de YouTube (@ParaArduino).

No hemos podido validar tu suscripción.
¡Se ha realizado tu suscripción!

Newsletter

Suscríbete para que te avise cuando publique nuevo contenido.

Usamos Brevo como plataforma de marketing. Al hacer clic a continuación para enviar este formulario, consiente que la información proporcionada sea transferida a Brevo para su procesamiento de acuerdo con sus términos de uso