Medir inclinación con Arduino y sensor tilt SW-520d


arduino-sw520d

¿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.

sw520d

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.

sw18020p

Esquema eléctrico

El esquema eléctrico que necesitamos es el siguiente.

arduino-tilt-esquema

Montaje

Mientras que el montaje en una protoboard sería el siguiente.

arduino-tilt-montaj

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.

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección Tutoriales de Arduino

Anuncio:

Previous Detector de movimiento con Arduino y sensor PIR
Next Usar el emulador de Android de Visual Studio en Android Studio
1000
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
newest oldest
Jordi

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

Juanma

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.