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

Arduino y Processing Comunicación básica
Arduino y Processing Comunicación básica por puerto serie

Arduino y Processing Comunicación básica por puerto serie

| Actualizado:
Comentarios: 0

En este tutorial veremos como comunicar Arduino con processing utilizando dos ejemplos muy sencillos. En el primero de ellos, mandaremos una variable para que processing nos la muestre en la consola. En el segundo, cambiaremos el color de fondo de…

¿Cómo hacer un semáforo con Arduino?

¿Cómo hacer un semáforo con Arduino?

| Actualizado:
Comentarios: 0

Simular un semáforo es uno de los clásicos en la iniciación de los proyectos de Arduino. Aquí vamos a mostrar como puedes montar un semáforo sencillo, un semáforo para coches y peatones automatizado y por último, el semáforo para coches…

Robot esquiva obstáculos con Arduino
Robot esquiva obstáculos con Arduino y un sensor de ultrasonidos

Robot esquiva obstáculos con Arduino y un sensor de ultrasonidos

| Actualizado:
Comentarios: 2

En este proyecto nos marcamos el objetivo de desarrollar un robot capaz de esquivar objetos. Un robot que avanzará en línea recta mientras que no detecte ningún obstáculo; en caso de detectar algún estorbo, girará sobre sí mismo hasta que…

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 *