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

Medir la inclinación con Arduino y el sensor SW-520D
Actualizado el 6 agosto, 2021   0 comentarios

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:

Esquema de montaje para el sensor de inclinación SW-520D con Arduino
Esquema de montaje para el sensor de inclinación

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:

Esquema para comprobar la inclinación con el sensor SW-520 e indicado por un Led
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
  }
}
También te puede interesar

Deja un comentario

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

*
*
*