Entradas Digitales en ARDUINO
4.6 (92.73%) 44 votes

En el dia de hoy vas a aprender a Usar las ENTRADAS DIGITALES en ARDUINO y vas a entender de diferentes formas, como puedes programarlas usando el Arduino IDE. También podrás ver como acoplar los voltajes para conectar señales a los pines digitales del arduino y asi evitar que quemes tu placa y al final de este post vas a encontrar un código ejemplo de implementación para que lo reproduzcas en tu casa.

Antes que nada si todavia no has visto todo el contenido de nuestro maravilloso curso de ARDUINO aquí te dejo el link para que lo veas: 👉 CURSO GRATUITO DE ARDUINO

Entradas Digitales de Arduino

Al igual como lo habíamos visto en la entrada anterior de Salidas Digitales en Arduino, en las entradas digitales de arduino vamos a recibir una señal digital, que esta compuesto de dos valores 0V (GND) y 5V, que como ya lo dijimos puede ser nombrados como:

  • 0V – Falso – Cero Lógico – LOW
  • 5V (3.3V) – Verdadero – Uno Lógico – HIGH

Señal Digital

Sin embargo, en el mundo real cuando una entrada digital hace la lectura de una señal, esta lo hace a través de un umbral de referencia de 2.5V aproximadamente, donde si el valor leido por la entrada digital de arduino es superior a ese umbral, arduino lo considera como HIGH y si es inferior lo considera como LOW.

Conexiones en las Entradas Digitales del Arduino

La tensión que pueden recibir las entradas digitales es de 5V (para la mayoría de los arduinos) y hay excepciones de algunos arduinos que trabajan a 3.3V como el Mini o el Nano. Entonces asegúrate primero en conocer cual es el voltaje de tensión de tu placa de arduino.

NUCA vayas a entregar un voltaje mayor al de alimentación (5V o 3.3V) porque vas a quemar tu placa.

Si por alguna razón, la señal que deseas conectar a tu arduino es mayor a 5 V debes hacer algún circuito para disminuir el valor de tensión que le está entrando al Arduino. Un circuito practico es hacer un divisor de voltaje con dos resistencias.

Divisor de Voltaje

Donde el voltaje de salida (V_{out}) va a depender de los valores de resistencia y el valor de alimentación de entrada.

V_{out}=V_{in}\dfrac{R_2}{R_1+R_2}

Supongamos que quieres medir una señal de 12V proveniente de algún relé, entonces deberás calcular el divisor de voltaje, suponiendo una de las resistencias. Si suponemos que la Resistencia 1 es de 10 KiloOhms (R1=10K) entonces para obtener 5 voltios a la salida del divisor de voltaje, deberemos despejar de la ecuación la resistencia 2 para saber su valor.

R_2=\dfrac{R_1V_{out}}{V_{in}-V_{out}}

R_2=\dfrac{10K(5V)}{12V-5V}=7.14K\Omega

Entonces para garantizar un voltaje de 5V necesitamos una resistencia de 7.14K, solo que como esa resistencia no es comercial, debemos tomar una resistencia menor y próxima a 7.14K, en este caso tomamos la resistencia comercial de 6.8K que nos da un voltaje dentro del umbral de las entradas digitales del arduino.

V_{out}=12V\dfrac{6.8K}{10K+6.8K}=4.85V

No utilices este circuito para voltajes de corriente alternada o para voltajes superiores a 35VDC. En el caso de usar algún sensor en la entrada de Digital, es bueno llevar en consideración la impedancia del sensor.

Veamos como seria el esquemático en caso de tener un pulsador, que está conectado a 12VDC

Arduino a Pulsador 12VDC

Como Configurar las Entradas Digitales de Arduino

Para configurar las entradas digitales de Arduino vamos a utilizar el mismo comando visto en la entrada anterior dentro de void setup, conocido como pinMode.

Donde dice “Pin Digital” debemos sustituirlo por el PIN del Arduino que nosotros queremos que sea una ENTRADA.

Ejemplo

Vamos a suponer que queremos configurar el PIN 3 del Arduino como Entrada. Debemos utilizar la instrucción pinMode dentro del void setup de la siguiente forma:

Otra forma de programar la Entrada Digital de Arduino es declarando un Nombre para el PIN, en este caso el PIN 3. Es decir podemos bautizar nuestro PIN con el nombre que nosotros queramos, veamos como se hace:
pinMode dentro del void setup de la siguiente forma:

Lectura de ENTRADAS Digitales en Arduino

Una vez hemos configurado los pines que queremos establecer como entradas, es hora de utilizar estas entradas, pra realizar la lectura de entradas digitales en arduino vamos a utilizar una segunda función, la cual deberemos llamar dentro del “void loop”

Aqui la variable utilizamos el nombre del PIN 3 “Terminal_3” y una variable llamada valor, que va a almacenar el uno lógico (5V) o el cero lógico (0V) que el arduino está leyendo desde la entrada digital.

Como regla general, todos los pines digitales del arduino vienen configurados por defecto como entradas.

Sin embargo, las entradas digitales, generalmente las usamos en condicionales para saber si algún evento ha ocurrido. Por lo tanto es bastante común usar el digitalRead dentro de condicionales como el IF. Sabemos que un IF es una instrucción en programación que pregunta si esta sucediendo algún evento.

Supongamos que tenemos conectado un BOTON en la entrada digital 7 del Arduino.

Boton Arduino

Si queremos preguntar si el botón esta pulsado o no, podemos hacerlo directamente dentro de la instrucción IF.

dentro de las llaves “{}” va el programa que deseemos que el arduino haga al momento de que el botón fue pulsado. En esa instrucción, si el botón no es pulsado, la función digitalRead va entregar para el if un cero logico o un falso “if(0)” y asi no se ejecuta lo que hay dentro de las llaves. Cuando el botón es pulsado, la función digitalRead va entregar para el if un uno logico o un verdadero “if(1)” y asi se ejecuta lo que hay dentro de las llaves.

También es posible invertir este orden si agregamos al comienzo del digitalRead el simbolo de negación “!”

Leer varias entradas digitales en Arduino

No importa el numero de entradas que desees leer con tu arduino, vas a utilizar la instrucción readWrite para leerlas todas:

Tambien podrías pensar en guardar los datos en un vector para leer varias entradas digitales en arduino. En este ejemplo seria un vector de 4 posiciones que se llame valvec (Valor en Vector). Recuerda que para capturar los valores debes llamar la posición del vector donde se encuentra el dato. En este caso el primer dato esta en la posición cero del vector, el segundo dato en la posición uno del vector, el tercer dato en la posición dos del vector y el cuarto dato en la posición tres del vector.

Ejemplo de Entradas Digitales

Vamos a tomar el ejemplo de la secuencia de leds con arduino visto en la entrada anterior y vamos a adicionarle 2 pulsadores (botones) para practicar con las entradas digitales de arduino. La secuencia de leds va a encender hacia la derecha y cuando pulse el pulsador del PIN 11, la secuencia de leds cambia de dirección hacia la izquierda, y si pulsa el pulsador del PIN 10, la secuencia de leds nuevamente cambia de dirección hacia la derecha.

Recordemos que en este curso estamos usando el Arduino UNO, pero si tu tienes cualquier otro Arduino, también puedes hacerlo sin ningún problema, esa es una facilidad que nos da Arduino. Si todavía no sabes cuales son los pines digitales de arduino uno, dale un vistazo a este post: Puertos digitales Arduino Uno

Entradas Digitales en Arduino

el código de implementación puedes descargarlo a continuación

Si te sirvió de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




Para Brasil

Se você está em Brasil pode utilizar o botão que está aqui em baixo, para realizar o convite em Reais.




Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Entradas Digitales en ARDUINO
Cerrar menú