Entradas digitales

      No hay comentarios en Entradas digitales

Resumen en vídeo

Introducción

Figura 1: Puertos digitales de Arduino UNO.

Las entradas digitales nos permiten distinguir entre dos estados: activo – inactivo (encendido – apagado). Arduino UNO consta de 14 puertos digitales que pueden funcionar como salidas y como entradas. Cuando actúan como entradas trabajan con dos estados de tensiones: 0V (estado de no activación) y 5V (estado de activación).

Los puertos 0 y 1 son utilizados por la placa para su comunicación con el PC. Si ocupamos estos pines, no podremos cargar programas desde el ordenador ni leer a través del puerto serie datos en la pantalla del PC. Por estos motivos, con el fin de trabajar con mayor comodidad, se suelen dejar libres esos dos puertos.

Características y conexión de las entradas digitales

Arduino traduce internamente una señal de 5 V como valor 1, y una señal de 0 V como valor 0.

Figura 2: Conexión de un interruptor NA en Arduino

Para que clasifique una señal como estado de no activación (0), es recomendable que dicha señal no sobrepase 1V. Para clasificarla como estado activo, debe superar ampliamente los 2,5V, acercándose lo máximo posible a 5 V pero sin superarlos nunca. Valores intermedios pueden inducir a errores de lectura.

Además, es fundamental tener presente que Arduino necesita recibir constantemente una referencia de tensión cuando sus puertos están actuando como entradas. Esto significa que, si no se está recibiendo señal de activación, se debe estar recibiendo 0 V (GND) o un valor muy próximo. En caso contrario, el puerto caerá en un estado de indeterminación y sus lecturas serán impredecibles.

Es este último factor el que nos obliga a realizar el esquema de conexión mostrado en la figura 2 y que justifica el uso de esa resistencia de valor 10 kΩ.

Figura 3: Comparativa entre entradas digitales en Arduino y en un PLC Siemens LOGO!

Se pueden usar módulos de pulsadores con la resistencia ya incluida:

El uso de pulsadores que ya incluyen la resistencia, simplifica y agiliza el proceso, por lo que se consideran especialmente interesantes, sobre todo en los primeros pasos.

Lectura de entradas digitales con ArduinoBlocks

El bloque de lectura de entradas digitales se encuentra en el apartado Entrada/Salida de ArduinoBlocks.

Figura 5: Bloque de entrada digital

Una vez arrastrado el bloque al editor, basta con seleccionar el puerto que se quiere utilizar como entrada. En el ejemplo de la figura 5 se define como entrada digital el puerto 8 (utilizando puerto como sinónimo de pin).

Este elemento se puede combinar con multitud de bloques de condiciones, comparaciones, impresión de datos, etc., que se mostrarán en próximos artículos.

Programa impresión de estado de un pulsador

Vamos a leer el estado de un pulsador o un interruptor en la pantalla del ordenador. Para ello, conecta un pulsador o un interruptor como se muestra en la figura 2 o en la figura 4, y la placa Arduino al ordenador.

Para realizar el programa vamos a necesitar tres bloques:

  1. Bloque de lectura de estado de una entrada -> Apartado Entradas/Salidas
  2. Bloque de imprimir en el puerto serie -> Apartado Puerto serie
  3. Bloque de gestión de tiempos (Ejecutar cada) -> Apartado Tiempo

El programa es el siguiente:

Figura 6: Programa completo

Lo que hace el programa, como se ve en la imagen anterior, es leer el estado del pulsador cada segundo y mandarlo al ordenador. Al abrir la consola, aparecerá un 1 cada vez que accionemos el pulsador y un 0 cuando no lo hagamos:

Figura 7: Resultados en el monitor serie

De esta forma, además de practicar el envío de datos al PC, estamos comprobando la correcta conexión de nuestro pulsador, cuestión crítica cuando se está empezando.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *