
¿Que es un sensor tilt?
Un sensor de inclinación es un dispositivo que proporciona una señal digital en caso de que su inclinación supere un umbral. Este tipo de sensor no permite saber el grado de inclinación del dispositivo, simplemente actúa como un sensor que se cierra a partir de una cierta inclinación.
Antiguamente estos sensores se constituían ubicando una gota de mercurio en el interior de una ampolla de vídrio, en cuyo interior se alojaban dos conductores. A partir de cierta inclinación la gota de mercurio se desplazaba, cerrando el contacto entre ambos conductores.
En la actualidad, por motivos medioambientales, casi todos los sensores de mercurio han sido desplazados por sensores Tilt de doble esfera. Se dispone de un cilindro cuya pared constituye un contacto eléctrico, mientras que el otro contacto esta localizado en el centro de la base. Al inclinar lo suficiente el dispositivo ambas esferas constituyen un puente entre ambos contactos, cerrando el circuito.
Debido a su principio de funcionamiento, estos sensores resultan sensibles a movimientos bruscos y vibraciones.
Anuncio:
Precio
Los sensores de orientación SW-520D son dispositivos baratos. Podemos encontrar 10 sensores de vibración por 1€ en vendedores internacionales en Ebay o AliExpress.
Esquema eléctrico
El esquema eléctrico que necesitamos es el siguiente.
Montaje
Mientras que el montaje en una protoboard sería el siguiente.
Ejemplo de código
El código necesario para realizar la lectura es simple. Simplemente leemos el estado del sensor mediante la entrada digital, usando la resistencia interna de Pull Up.
const int SensorPin = 2; const int LEDPin = 13; void setup() { pinMode(SensorPin , INPUT); digitalWrite(SensorPin , HIGH); //activamos la resistencia interna PULL UP pinMode(LEDPin, OUTPUT); } void loop() { if (digitalRead(SensorPin)) { digitalWrite(LEDPin, HIGH); } else { digitalWrite(LEDPin, LOW); } }
Anuncio:
He visto estos interruptores de inclinación y como lo de mercurio son sensibles a las vibraciones y movimientos bruscos como bien dices, hay algun tipo que no lo sea o cuál sería el dispositivo para tener un interruptor de inclinación qie no se enciansa y añagien con la vibración sinó solo con ña inclinación.
Gracias
Hola Jordi, puedes usar ese sensor y poner un filtro en tu código para solo hacer algo si el sensor está activo un tiempo determinado, así no se activaría en las vibraciones
Sería algo así:
tiempo=millis();
while (digitalRead(sensor)==0)
{
if ((millis()-tiempo)>intervalo)
{
Hacer lo que sea
}
}
Así solo se haría la acción en caso de que el sensor esté activo más de (intervalo) milisegundos.