Proyecto 21 – Sensor de inclinación SW-520D

En este proyecto usaremos el Arduino para leer otro tipo de sensor de inclinación similar al del proyecto anterior, el cual va a encender un LED cuando es afectado el nivel de inclinación del sensor. En este proyecto utilizaremos el módulo de inclinación SW-520D

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 SW-520D

Módulo sensor de inclinación SW-520D

El módulo del sensor de inclinación está equipado con un sensor de inclinación y un potenciómetro. Puede adjuntarlo a cualquier objeto y determinará si el objeto está inclinado o no. Es simple, ya que devuelve una salida digital. Viene con un sensor SW-520D, un LED de encendido y un LED de estado como indicadores visuales.

Mientras el sensor de inclinación está en posición vertical, la bola dentro del sensor de inclinación hace que se unan los dos contactos, cierra el circuito. en el momento en el que el sensor se inclina, la bola se mueve y el circuito se abre. Entonces se puede concluir que cuando el sensor está en posición vertical, el módulo envía 0V (LOW) y cuando está inclinado, emite 5V (HIGH) a través del terminal de salida digital (DO) del sensor.

Este módulo tiene 3 pines o terminales de salida, el primer pin está marcado con «DO», el cual es el pin de salida del módulo, luego encontramos un pin con el símbolo de tierra, donde conectaremos la tierra y por último un pin marcado con VCC donde conectaremos los 5V.

Especificaciones:

  • Voltaje de operación: 3.3 – 5V
  • Salida de nivel TTL
  • Salida: digital
  • Corriente de salida máxima: 15 mA
  • Temperatura máxima de funcionamiento: 0 °C a 80 °C
  • Potenciómetro para ajustar la sensibilidad.
  • Comparador LM393

Componentes

  • Arduino UNO o placa compatible
  • Protoboard o placa de pruebas
  • Módulo sensor de inclinación SW-520D
  • Cables o Jumpers
  • 1 LED
  • 1 resistencia de 220Ω
Proyecto 21 – Sensor de inclinación

Este diagrama nos muestra un esquema de conexiones bastante sencillo, vamos a comenzar conectando el pin D0 del módulo al pin 8 del Arduino, luego la tierra del módulo al GND del Arduino y para finalizar con el módulo vamos a conectar el pin VCC del módulo a los 5V del Arduino.
Luego conectamos la resistencia de 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.