Está en la página 1de 11

Lección 8: Entradas digitales con vigilancia de cable.

En lecciones anteriores hemos visto el uso de las entradas digitales y de las entradas analógicas. Vamos en esta lección a
mezclar ambos conceptos para lograr utilizar en nuestro equipo Arduino entradas digitales con vigilancia de cable. Para
entender que queremos decir, vamos a poner un ejemplo en el que sea necesario vigilar la correción del cableado en
una entrada digital.

Supongamos que nuestro equipo Arduino lo utilizamos para controlar algún tipo de máquina móvil, por ejemplo la
apertura y cierre de la puerta de un garaje. Cualquier máquina móvil encierra un cierto riesgo potencial para las
personas que la utilizan. Siguiendo con nuestro caso, la puerta del garaje puede cerrarse cuando alguien está en el
medio y pillarle. Para prevenir esta posibilidad, dotamos a nuestro sistema de control de un pulsador de parada, que
detiene el movimiento de la puerta en cuanto se pulsa. El pulsador de parada lo hemos diseñado utilizando uno de sus
contactos auxiliares como entrada digital de nuestro equipo Arduino. Por lo tanto tendríamos este esquema de montaje.

Así, cuando nuestro amigo ve que la puerta que se está cerrando puede pillarnos, pulsará sobre el botón de parada,
activará una de las entradas digitales de nuestro equipo Arduino y éste se encargará de detenerla evitando el accidente
y todos estaríamos muy satisfechos y orgullos de nuestro trabajo.

Pero, ¿qué ocurre si el cable que une el pulsador de parada con nuestro equipo Arduino se corta. Pues que cuando
nuestro amigo vea el peligro y pulse sobre el pulsador de parada el equipo Arduino no recibirá la señal (porque el cable
está roto) y no detendrá la puerta y nosotros acabaremos en el Hospital.
Para evitar este riesgo, nuestra primera solucion consiste en utilizar un contacto normalmente cerrado. De esta forma
nuestro equipo Arduino necesita recibir una señal activa (un uno) en la entrada digital donde conectamos el pulsador de
parada para permitir el funcionamiento de la máquina. Al actuar sobre el pulsador de parada interrumpimos el circuito,
impedimos la llegada de la señal y el equipo ordenará detenerse a la puerta. Si el cable se corta, la señal del pulsador de
parada tampoco llega y, por lo tanto, en caso de ruptura del cable, la máquina se para.

Sin embargo los riesgos aún contínuan. Los problemas con los cables no siempre están motivados por su ruptura. En
ocasiones porque los cables están pillados o machacados por alguna máquina, o porque existen humedades y
condensaciones en ciertas cajas de conexión, lo que se produce es el cortocircuito entre los dos hilos.
En estos casos, al actuar sobre nuestro pulsador de parada, el circuito no se interrumpe y el equipo Arduino no es capaz
de ver la orden y, lógicamente, no ordena la parada de la puerta.

Así pues, es necesario buscar un sistema que nos asegure que en todos los casos conocemos la situación real de un
pulsador y que diferencie entre pulsador abierto, cerrado, cable roto y cable cortocircuitado. Para ello, y si recordáis
nuestras primeras lecciones, las entradas digitales no nos pueden ayudar. Una entrada digital sólo distingue entre dos
estados posibles y aquí tenemos que distinguir entre cuatro. Por eso, las entradas analógicas deben venir en nuestra
ayuda.

Para implementar nuestra solución nos vamos a basar en el esquema siguiente:


Básicamente, hemos utilizado dos entradas digitales IO2 e IO3 para manejar dos leds. De esta manera uno de ellos (D1)
lo utilizaremos para mostrar la salida con la que controlamos nuestra puerta (luce cuando ordenamos detenerse a la
puerta) y el otro (D2) lo utilizaremos para indicar que tenemos un problema en el cable (luce cuando el cable está mal y
se apaga cuando el cable está en condiciones correctas).

También hemos conectado un terminal virtual para visualizar el valor de la entrada analógica.

Por último hemos hecho el siguiente esquema para controlar nuestro pulsador de parada. Mostramos esta parte
ampliada para que se vea con más detalles y la comentamos.
Desde nuestro equipo Arduino salen los +5V hacia el campo. El cable se prolonga hasta el contacto situado en la parada
de emergencia. Allí hemos hecho el siguiente montaje. En serie con el contacto colocamos una resistencia de 120 Ohms
y en paralelo con el mismo otra de 220 Ohms. El cable retorna y lo conectamos a nuestra entrada analógica AD0.
Además a la entrada (dentro de nuestro equipo) conectamos en ese mismo punto una resistencia de 220 Ohms a tierra.
Es decir, que lo que estamos haciendo es un simple divisor de tensión que varía según que el pulsador esté actuado o
no.
Además hemos añadido, con caracter pedagógico, cuatro contactos para ayudarnos a simular los posibles fallos que se
pueden producir en nuestro cable. Una derivación a tierra del hilo conectado a +5V, una derivación a tierra del hilo
conectado a la entrada analógica, un cortocircuito entre ambos hilos y la ruptura de uno de los hilos. De esta forma es
sencillo comprobar todos los casos posibles y ver como reacciona nuestro circuito.

El programa que corre en nuestro Arduino es muy sencillo.


 

Primero definimos una variable que almacena la lectura analógica. Luego definimos los pines 2 y 3 como salidas y la
velocidad de nuestro puerto serie a 9600 baudios. El bucle principal del programa lee el valor de la entrada analógica, lo
envía por el puerto serie (hemos puesto un retardo de 0,1 segundos para no volvernos locos con tantas medidas) y luego
evaluamos el valor leído. Si es menor de 350 o mayor de 700 generamos un error y activamos la salida del led D2. Si está
comprendida entre 350 y 500 el pulsador está sin cerrar. Si, por último está comprendido entre 500 y 700 el pulsador
está cerrado y activamos nuestra salida del led D1 (la orden de parada de la puerta).

La ejecución de este ejemplo y el estudio detallado de los valores obtenidos en cada posible situación se ven
sencillamente utilizando el terminal virtual. El circuito con el interruptor cerrado se muestra a continuación. El valor
leído es de 663:
El circuito con el cable cortocircuitado genera una lectura de 1023:
Por último queremos destacar el caso de que el hilo que lleva los +5V se derive a tierra. Observe que Proteus nos
permite seguir la simulación. En realidad, en la vida real estaríamos cortocircuitando la fuente de +5V que alimenta
nuestro Arduino y el equipo se apagaría. Por eso es necesario siempre proteger y separar la alimentación de las entradas
que salen al campo, pero eso lo dejamos para otro momento. Por ahora, a los efectos de lo que nos ocupa en esta
leccion nos sirve este esquema.
De esta manera terminamos con la utilización de las entradas analógicas para implementar entradas digitales con
vigilancia de cable.

También podría gustarte