jueves, 30 de abril de 2015

Tutorial: Interruptor de Mercurio (o de inclinación)


En este nuevo tutorial vamos a trabajar con el interruptor de mercurio (más conocido como interruptor de inclinación o "tilt switch" en inglés). Este interruptor es un dispositivo que puede detectar la inclinación de un objeto.

¿Cómo funciona? No es más que un interruptor (o como los pulsadores de entradas anteriores). En su interior llevan dos bolas conductoras, que son las encargadas de abrir o cerrar el circuito interno con los pines del interruptor. Podemos ver en la imagen, que cuando está el dispositivo en vertical, las bolas cierran el contacto y cuando están en posición horizontal, se alejan de los pines.



El código a usar con este componente es el mismo que el de un interruptor o pulsador. En este caso, vamos a combinarlo con un LED para que su actuación sea más visible.

Materiales

1x Arduino UNO

1x Interruptor de Mercurio (inclinación)

1x LED (no necesitaremos una resistencia para el LED ya que lo conectaremos al pin 13 que ya la incorpora)

1x Resistencia 1k (visto que también funciona con resistencias de 220 Ohmnios)

Cables

Protoboard

Esquema








Programa

/*
  Interruptor de Mercurio.
  
  Este programa enciende un LED conectado al pin digital 13 
  con la lectura del interruptor por el pin digital 2
  
  Resistencia 1k
 */


// asignación pins:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// inicialización constantes:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // inicializar LED como salida:
  pinMode(ledPin, OUTPUT);      
  // inicializar interruptor como entrada:
  pinMode(buttonPin, INPUT);     
}

void loop(){
  // leer el estado del interruptor
  buttonState = digitalRead(buttonPin);

  // comprobar si está abierto o cerrado
  // si el interruptor está cerrado:
  if (buttonState == HIGH) {     
    // encender el LED    
    digitalWrite(ledPin, HIGH);  
  } 
  else {
    // apagar el LED
    digitalWrite(ledPin, LOW); 
  }
}

Vídeo






Os animamos a subir vuestros vídeos del tutorial funcionando en nuestro Facebook
nombrándonos en Twitter.

P.