Proyecto 18 – Sensor de vibración

Este es un proyecto en el cual usaremos el Arduino para leer un sensor de vibración SW-420 y encender un LED cuando hay vibraciones. Para este fin utilizaremos el módulo de vibración basado en el sensor SW-420

Este es otro de esos proyectos muy fáciles de implementar y de código muy sencillo.

Módulo sensor de vibración

Módulo sensor de vibración basado en el SW-420

Este módulo sensor de vibración consiste en un sensor SW-420, resistencias, capacitores, un potenciómetro, el integrado comparador LM393, LED de estado y LED en encendido. El SW-420 es un sensor que detecta las vibraciones a partir de un umbral que puedes fijar con el potenciómetro que incluye. El módulo puede detectar cualquier tipo de vibración por encima del umbral de vibración que tengamos configurado con el potenciómetro.

Es muy útil para una gran variedad de dispositivos que se deben activar/desactivar por las vibraciones, como por ejemplo la construcción de una alarma para tu moto o automóvil, alarma de terremoto, auto inteligente, etc.

Especificaciones:

  • Voltaje de operación: 3.3 – 5V
  • Consumo: 15mA
  • Tipo de salida: Digital

Componentes

  • Arduino UNO o placa compatible
  • Protoboard o placa de pruebas
  • Módulo sensor de vibración
  • Cables o Jumpers
  • 1 LED
  • 1 resistencia de 220Ω
Proyecto 18 – Sensor de vibración

Basados en el diagrama lo primero que vamos a hacer es conectar el pin VCC del módulo a los 5V del Arduino, de igual forma conectamos el GND del módulo al GND del Arduino y el pin DO del sensor al pin 8 del Arduino. Luego conectamos la resistencia del 220Ω a la tierra del Arduino y al cátodo del LED, por último conectamos el ánodo del LED al pin 13 del Arduino.

Código

int pinSensor = 8;
int pinLed = 13;

void setup() 
{
  pinMode(pinSensor,INPUT);
  pinMode(pinLed,OUTPUT);
}

void loop() 
{
  if(digitalRead(pinSensor))
  {
    digitalWrite(pinLed,HIGH);
    delay(1000);
    digitalWrite(pinLed,LOW);
    delay(1000);
   }
   else
     digitalWrite(pinLed,LOW);
}

Comenzaremos a revisar el código, primero vamos a ver las declaraciones de las variables.

int pinSensor = 8;
int pinLed = 13;

Declaramos 2 variables, la primera de tipo entero int pinSensor = 8, la cual utilizaremos como referencia que al pin 8 del Arduino le conectaremos el pin digital de sensor, la siguiente variable que declaramos int pinLed = 13 es la que utilizaremos para definir al pin en el cual vamos a conectar el led al Arduino.

En la función setup:

pinMode(pinSensor,INPUT);
pinMode(pinLed,OUTPUT);

Lo primero que hacemos es establecer que el pin del sensor es de entrada pinMode(pinSensor,INPUT), y luego establecemos que el pin del led es de salida pinMode(pinLed,OUTPUT).

Y en la función loop:

if(digitalRead(pinSensor))
{
  digitalWrite(pinLed,HIGH);
  delay(1000);
  digitalWrite(pinLed,LOW);
  delay(1000);
}
 else
   digitalWrite(pinLed,LOW);

Normalmente con este tiempo de sensores creamos una variable en la cual capturamos el valor del sensor, pero podemos ahorrarnos ese paso al hacer la lectura del sensor directamente desde el «if» if(digitalRead(pinSensor)) donde preguntamos que si la lectura del sensor es 1 o verdadera, entonces haga digitalWrite(pinLed,HIGH) con lo que energizamos el pin del LED es decir encendemos el LED, luego delay(1000)donde hacemos una pausa de un segundo, luego apagamos el LED digitalWrite(pinLed,LOW), y hacemos una pausa de nuevo de 1 segundo delay(1000).
Por otro lado si la condición del if no se cumple el LED permanece apagado digitalWrite(pinLed,LOW) y vuelve a comenzar el ciclo.

Resumen

En este proyecto nuestro Arduino estará conectado a un sensor de vibración que al detectar alguna vibración encenderá un LED por medio segundo y se apagará, si aun sigue el movimiento seguirá titilando y cuando cese el movimiento se apagará.


Deja un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.