1. El Octavo Bit
  2. / Arduino
  3. / Proyectos para Arduino
  4. / Medir la inclinación con Arduino y el sensor SW-520D

Medir la inclinación con Arduino y el sensor SW-520D

| Actualizado:
Comentarios: 0

Medir la inclinación con Arduino y el sensor SW-520D
Medir la inclinación con Arduino y el sensor SW-520D

Realizamos un ejemplo básico, donde se puede apreciar que la lectura hecha por el sensor se recibe en un pin de entrada digital de la placa (hemos usado el nº 7).

Material necesario:

  • Arduino Uno o similar.
  • Protoboard.
  • Cables
  • Sensor inclinación SW-520D
Esquema de montaje para el sensor de inclinación SW-520D con Arduino

La alimentación del sensor la realizamos directamente por un pin digital, el 2, de manera que esté configurado OUTPUT puesto que será el que alimente el circuito. El siguiente paso es saber qué pasa por el circuito, para ello conectamos un cable a un pin digital de entrada, en este caso vamos a utilizar el 7 como INPUT. Por último, conectamos la otra pata del sensor al GND.

void setup(){
    pinMode(7, INPUT);
    Serial.begin(9600);
    pinMode(2, OUTPUT);
    digitalWrite(2, HIGH);
}
 
void loop(){
    if (digitalRead(7)){
        Serial.println("El sensor ha cambiado de posición");
    }else{
        Serial.println("El sensor está en vertical");
    }
}

Sistema de inclinación indicado por un led.

Vamos a complicarlo un poco añadiendo un led que se encenderá cuando esté inclinado.

Componentes:

  • Arduino Uno o similar.
  • Protoboard.
  • Cables.
  • Resistencia 220 Ohms.
  • Led, nos da igual el color.
  • Sensor inclinación SW-520D
Esquema para comprobar la inclinación con el sensor SW-520 e indicado por un Led

La alimentación del led se va a realizar a través del pin 13, de manera que sea OUTPUT, y estará HIGH, encendido, cuando el sensor esté volcado y LOW, apagado, en su posición correcta. El sensor lo vamos a alimentar con el pin digital 2.

void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);  // Alimentación del led, definido como salida
  pinMode(2, INPUT);    // Pin de entrada para el sensor
  digitalWrite(7, LOW); // Led apagado de inicio
}

void loop() {
  if(digitalRead(2)){
    Serial.println("Alerta por inclinación");
    digitalWrite(13, HIGH);  // Led encendido
    delay(200);
  }else{
    Serial.println("Todo correcto");
    digitalWrite(13, LOW);     // Led apagado
  }
}

Artículos que te pueden interesar

Medir la temperatura con Arduino
Medir la temperatura con el sensor LM35 y Arduino

Medir la temperatura con el sensor LM35 y Arduino

| Actualizado:
Comentarios: 5

Veremos cómo medir la temperatura con el sensor analógico LM35 y mostrar el valor de la temperatura en el monitor serial de Arduino o en un display de 4 dígitos y 7 segmentos. El LM35 es uno de los sensores…

Robot controlado por bluetooth con Arduino
¿Cómo hacer un coche controlado por bluetooth con Arduino?

¿Cómo hacer un coche controlado por bluetooth con Arduino?

| Actualizado:
Comentarios: 4

En este tutorial construiremos un robot móvil controlado por Bluetooth desde nuestro móvil a través de una aplicación de Android. El montaje y la puesta en funcionamiento de este pequeño coche es sencillo puesto que es el resultado de la…

Crear una alarma con el módulo KY-008, una fotoresistencia y un buzzer
Alarma con Arduino

Crear una alarma con el módulo KY-008, una fotoresistencia y un buzzer

| Actualizado:
Comentarios: 0

En esta práctica haremos una alarma que se conectará en el momento en que el haz de luz del puntero no llegue a la fotorresistencia. Haremos que la señal de alarma nos avise por el monitor serial y nos de un aviso sonoro

Joystick analógico y Arduino
¿Cómo utilizar un joystick analógico con Arduino?

¿Cómo utilizar un joystick analógico con Arduino?

| Actualizado:
Comentarios: 0

En este post veremos la conexión de un joystick a la placa Arduino. Primero se comprobara hacia donde se mueve sacando los datos por el serial monitor y en un segundo proyecto, según el movimiento del joystick encenderá un led.…

Comentarios - 0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *