miércoles, 4 de diciembre de 2013

Sensor de interrupción manual KY-004 (Key Switch Module)


Este módulo KY-004 disponible en el  Kit de sensores Keyes 37 en 1 implementa un pequeño pulsador como el que estuvimos presentando en la entrada sobre qué son y cómo funciona un pulsador.

En este caso, el módulo lo que nos hace es implementar el pulsador y una resistencia de protección en una pequeña plaquita. Y aunque a efectos prácticos podría parecernos un módulo un poco útil, éste nos permite evaluar cual sería el posible efecto de un fin de carrera en nuestro proyecto robótico.

Por si no lo sabéis un fin de carrera es un tipo especial de pulsador que lo usaremos en muchísimos sitios, en detección de apertura de puertas, detección de avance de un carro motorizado, impresoras 3D....


El proyecto que presentamos a continuación pretende generar aviso visuales  cada vez que acciones el pulsador, Que sería equivalente a decir, cada vez que el ascensor de nuestro ejemplo anterior, llegue a fin de carrera.


Para su construcción necesitaremos los siguientes elementos:


REFERENCIA
CANTIDAD
FOTO






Módulo de pulsador manual KY-004





1







Protoboard





1







Cables colores






3








Arduino






1


El funcionamiento de un LED,  de las resistencias de protección y de pulsador, lo vimos en entradas anteriores, y el programa está comentado para permitirnos entender las instrucciones que le estamos dando a nuestro microcontrolador.


DIAGRAMA DE CONEXIÓN



FUNCIONAMIENTO

Primero definiremos un pin donde vamos a enclavar el aviso visual, nuestro LED, y el pin desde donde vamos a monitorizar nuestro de llegada (que lo simularemos cuando apretemos el pulsador). Esto lo podemos hacer bien usando variables del tipo entero o bien con la directiva #define (que ahorra memoria en caso de que nuestro sketch muy complejo). En este caso usaremos el pin 13, de nuestra placa que ya monta su propio LED. Así nos ahorramos montar un LED externo y su resistencia limitadora.

Y también definiremos la variable que vamos a usar, para registrar si hemos pulsado el botón (que sería el equivalente en el ejemplo de la cabina elevadora del ejemplo inicial, al detectar que hemos llegado o no al destino (por eso le hemos puesto a la variable el nombre AlarmaDeLlegada).

Luego tendremos que configurar el setup de nuestro proyecto, que en este caso se limitará a definir si los pines que vamos a usar son de entrada o salida. En este ejemplo, el LED de aviso, es un output y como el KY004 es un pulsador que nos manda una señal, este pin será un input (una entrada).

A partir de aquí monitorizaremos la variable de detección de llegada (AlarmaDeLlegada) y si detecta que hemos llegado hará que se encienda nuestro LED, y si no permanecerá apagado.

Si queréis descargaros el sketch y usarlo directamente en vuestra placa, el fichero os lo dejo aquí, aunque es mejor que intentemos siempre copiarlo a mano, de este modo nos vamos familiarizando con las estructuras de programación, sus funciones y los modos más comunes de error que cometeremos a medida que vayamos desarrollando programas más complejos.


Para todos aquellos que no dispongáis de un módulo KY-004, el mismo funcionamiento lo podemos hacer reemplazando el KY004, con un pulsador una resistencia de pull-up.

A fin de cuentas, si le echamos un vistazo rápido a las tripas de nuestro módulo, podremos ver que no es más que un pulsador y una resistencia de pull-up.



Cuando presionamos el botón, la señal que antes estaba conectada a la alimentación (5 voltios en nuestro ejemplo) a través de una resistencia de 10K, pasa a estar conectada a tierra. Y cuando dejamos de presionar, el contacto se pierde y vuelve a situarse a la tensión de alimentación suministrada por el pin central.




El comportamiento esquemático del flujo de corriente lo podemos ver fácilmente en el siguiente esquema donde claramente vemos el efecto del pulsador y de la resistencia de pull-up.




Y si además queremos reemplazar el LED de la placa Arduino con uno exterior, tendremos que montar en la protoboard un LED y una resistencia limitadora de 220ohms.

El esquema que deberéis usar sería uno de los dos de abajo (según si vais o no montar un LED externo). El sketch funcionará igual de bien que si  estuvierais usando un KY-004.




Y ya sabéis, si tenéis alguna sugerencia de mejora o duda, no tenéis más que mandarnos un correo a



e intentaremos responder a vuestra pregunta lo antes que podamos.



No hay comentarios:

Publicar un comentario