Proyecto 20 – Sensor de inclinación KY-020

En este proyecto usaremos el Arduino para leer otro tipo de sensor de inclinación y encender un LED cuando es afectado el nivel de inclinación del sensor. En este proyecto utilizaremos el módulo de inclinación KY-020.

Al igual que los últimos proyectos este es otro de esos proyectos muy fáciles de implementar y de código muy sencillo.

Módulo sensor de inclinación KY-020

Módulo sensor de inclinación KY-020

El módulo KY-020 es un módulo muy sencillo que consiste en una resistencia de 10 KΩ y un interruptor metálico de bola con conducción bidireccional que abrirá o cerrará el circuito dependiendo de su grado de inclinación. Este es un sensor con salida digital por lo que solo registra si esta fuera de nivel o no (HIGH o LOW), no mide el ángulo de inclinación.

Este módulo tiene 3 pines o terminales de salida, el primer pin está marcado con una «S» (Signal), el cual es el pin de salida del sensor, luego encontramos un pin que no tiene ningún símbolo pero es el VCC, donde conectaremos los 5V y por último encontramos un pin marcado con el signo menos (-), donde se conectará la tierra.

Especificaciones:

  • Voltaje de operación: 3.3 – 5V
  • Salida: digital

Componentes

  • Arduino UNO o placa compatible
  • Protoboard o placa de pruebas
  • Módulo sensor de inclinación KY-020
  • Cables o Jumpers
  • 1 LED
  • 1 resistencia de 220Ω
Proyecto 20 – Sensor de inclinación

Basados en el diagrama lo primero que vamos a hacer es conectar el GND del módulo al GND del Arduino, después el pin VCC del módulo a los 5V del Arduino, después el pin S 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

El código de este proyecto es el mismo del proyecto anterior y nos puede servir de base para cualquier sensor que posea una sola salida digital.

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 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 inclinación que al cambiar el nivel de inclinación encenderá un LED por un segundo y se apagará, si el sensor sigue aun inclinado seguirá titilando y cuando vuelva a estar a nivel 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.