CONTENIDO ►
El sensor de vibración Arduino (ky-002 / sw-420) se utiliza para detectar la presencia de vibraciones externas en el módulo y se utiliza en la creación de alarmas domésticas. Veamos algunos ejemplos de uso del módulo de vibración Arduino, presentemos algunos esquemas para conectar el sensor de vibración a la placa Arduino y demostremos un programa sencillo utilizando declaraciones condicionales if en Arduino IDE.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensor de vibración;
- placa de pruebas;
- LED y resistencia de 220 Ohm;
- cables de conexion.
Funcionamiento del sensor de vibración Arduino
Este sensor está disponible como módulo, por ejemplo, SW-420, sensores de logotipos v1.5 o sensor de vibración 140c001 para Arduino. La base del sensor SW-420 es un muelle metálico dentro de un tubo de plástico que comienza a oscilar cuando se produce una vibración. El módulo dispone de un amplificador de señal, una resistencia trimmer para ajustar la sensibilidad del sensor y tres pines para la conexión con el microcontrolador.

Características sensor de vibración KY-002:
- Alimentación: 3,3V ~ 5V
- Salida: Digital tipo suiche (0 y 1)
- Dimensiones: 2.4 x 1.5 x 0.9cm
Los sensores Logo v1.5 tienen tres salidas: GND y VCC para la alimentación y una salida de señal analógica A0 que puede conectarse a cualquier entrada analógica. El módulo 140C001 801S tiene un puerto digital adicional, y cuando la vibración alcanza un determinado valor (fijado por una resistencia de ajuste) se da un cero lógico al puerto, por lo que puede utilizarse de forma autónoma, sin un controlador.
Cómo conectar el sensor de vibracion Arduino

Para utilizar el módulo KY-002 o el sensor HDX como sensor de vibración, utilice diferentes diagramas de cableado. El módulo SW-420 el sensor 140c001 801s deben conectarse directamente al Arduino, de acuerdo con la distribución de pines (véase el diagrama anterior). El sensor HDX, como elemento único, debe conectarse a través de una resistencia a la entrada digital o analógica del microcontrolador, como se muestra en el diagrama.
Programa Arduino sensor de vibracion Arduino ky-002
#define VIB A1 #define LED 12 int val = 0; void setup() { pinMode(LED, OUTPUT); pinMode(VIB, INPUT); Serial.begin(9600); } void loop() { val = analogRead(VIB); Serial.print("Vibration sensor - "); Serial.println(val); if (sens > 500) { digitalWrite(LED, HIGH); } if (sens < 500) { digitalWrite(LED, LOW); } }
Explicación del código del sensor vibracion Arduino ky-002:
- en su caso, los valores de sens pueden ser completamente diferentes – todo depende de la configuración de la sensibilidad del sensor;
- la sentencia condicional if permite definir una acción bajo una condición verdadera.

En el programa propuesto, el LED sólo se encenderá cuando haya vibración y se apagará cuando no haya vibración, lo que no es muy adecuado para un dispositivo de alarma. Para un correcto funcionamiento, el código debe ser refinado y el botón pulsador debe estar conectado en el circuito. El LED no debe apagarse cuando termina la vibración, sino que sólo debe volver al modo de espera cuando se pulse el botón pulsador.
Programa Arduino sensor de vibración sw-420 y LED
#define LED 12 #define VIB A1 #define BUT 2 int val = 0; byte w = 0; void setup() { pinMode(LED, OUTPUT); pinMode(VIB, INPUT); pinMode(BUT, INPUT); Serial.begin(9600); } void loop() { val = analogRead(VIB); Serial.print("Vibration sensor - "); Serial.println(val); if (sens > 500) { digitalWrite(LED, HIGH); w = 1; } if (sens < 500) { digitalWrite(LED, LOW); } while (w == 1) { Serial.println("DANGER"); if (digitalRead(BUT) == HIGH) { w = 0; } } }
Explicación del código del sensor de vibración sw 420 y LED:
- variable global Arduino w, igual a «0» – una línea en el programa byte w = 0; necesaria para que el bucle while() no se ejecute al iniciar el programa;
- cuando se dispara el sensor, cambiamos el valor de la variable w = 1; esto es para que se inicie el bucle while() del programa.

Deja una respuesta