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

Plataforma móvil con un joystick y Arduino
Plataforma móvil con 2 servos controlada por un joystick y Arduino

Plataforma móvil con 2 servos controlada por un joystick y Arduino

| Actualizado:
Comentarios: 0

Vamos a montar una torreta con dos servos que nos ayudarán a desplazarla en un ángulo de 180º, en el eje horizontal y en el vertical. Utilizaremos un joystick para mover los pequeños motores. Podremos utilizar la plataforma móvil para…

Detector de incendios con Arduino
Detector de incendios con Arduino y el sensor KY-026

Detector de incendios con Arduino y el sensor KY-026

| Actualizado:
Comentarios: 0

El módulo KY-026 es un sensor de llama que permite detectar un fuego gracias a un sensor óptico sensible a la radiación emitida por la llama. El sensor puede detectar fuentes de luz en el rango de una longitud de…

Lectura de un potenciómetro con Arduino
Lectura de un potenciómetro. Entradas analógicas en Arduino.

Lectura de un potenciómetro. Entradas analógicas en Arduino.

| Actualizado:
Comentarios: 0

En este post vamos a leer una señal analógica a través de un potenciómetro, mostraremos el valor por el puerto serie (monitor), en un segundo experimento lo transformaremos a voltaje, en porcentaje y utilizaremos una media para reducir los valores…

Robot Arduino controlado por un mando a distancia de infrarrojos
Robot Arduino dirigido con un mando infrarrojo

Robot Arduino controlado por un mando a distancia de infrarrojos

| Actualizado:
Comentarios: 0

El objetivo de este proyecto es controlar el movimiento de un robot Arduino con un mando a distancia, a través de una señal de infrarrojo.

Comentarios - 0

Deja un comentario

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