marzo 29, 2024

BitCuco

¡Hola Mundo!

¿Qué son los pines Arduino y cómo se usan?

pines arduino

Arduino Uno

Los pines digitales te permiten leer y generar valores en Arduino.

En esta publicación te voy a explicar todo lo que debes saber sobre las terminales o pines digitales de Arduino. Te explicaré como configurarlos y utilizarlos. Finalmente veremos un ejemplo se su uso.

Comenzaremos por decir que como su nombre lo indica, los pines digitales con Arduino, nos refieren a la electrónica digital. Es decir, aquella rama de la electrónica que se encarga de estudiar, analizar, diseñar y desarrollar circuitos basados en el principio todo o nada. Este principio otorga un valor de “1” a la presencia de voltaje. Por otro lado, se asigna el valor de “0” a la ausencia de voltaje.

En resumen, la electrónica digital trabaja con grupos de 1s y 0s (unos y ceros). Como consecuencia, los pines digitales de Arduino son capaces de leer y generar este tipo de valores.

Configuración de los pines digitales de Arduino

La primera placa que se comercializó es el popular Arduino Uno, con una placa que consta de 14 pines o terminales digitales. Cada pin puede ser utilizado independientemente y todos son bidireccionales.

Lo anterior quiere decir que tenemos la opción de utilizarlos como entrada o como salida. Desde el software de Arduino IDE se indica o programa la forma en que va a utilizar un pin en la función void setup( ). La forma correcta de hacerlo es con la instrucción pinMode.

Un ejemplo de como utilizar esta instrucción es:

pinMode(num_pin, comportamiento);

De acuerdo a lo anterior, donde dice num_pin, debe colocar el número del pin o terminal que se desea configurar. Todas las placas de Arduino indican el número de cada terminal. La palabra comportamiento debe de sustituirse por INPUT si se desea configurar el pin como entrada. Se debe colocar OUTPUT si se desea que el pin funcione como salida.

Cabe señalar que todo aquel pin o terminal que no se configure, Arduino la considera como entrada. Es decir, todos los pines digitales están preconfigurados de fábrica como entradas para Arduino.

Características eléctricas de los pines digitales en Arduino

Como se mencionó anteriormente, un valor digital de 1 indica presencia de voltaje y 0 la ausencia de voltaje. Cabe señalar que es necesario saber a cuanto equivale esto electricamente. Es decir, el valor de 1 se considera para valores de voltaje de entre 3.5 V a 5 V. Para el caso de un 0, el rango considerado es de 0 V hasta 2.5 V.

pines arduino

Como ejemplo, vamos a considerar un pin digital configurado como entrada. Si al momento de indicarle a la placa que lea ese pin, tiene un voltaje de 4.8 V, lo va a considerar un 1. De lo contrario, si tuviera un voltaje de 0.5 V, lo considera un 0.

Por otro lado, ahora vamos a considerar el caso en el que el pin está configurado como salida. Si le indicamos al Arduino que mande o genere un 1, nos entregará aproximadamente 5 V. Si se le indica que en la terminal coloque un 0, serán aproximadamente 0 V los que tengamos en dicho pin.

Cabe señalar que los niveles de voltaje para considerarse 1s o 0s, no son iguales en todos los microcontroladores. Para estar seguro debes de consultar las hojas del fabricante. Algunas placas agregan circuitos integrados que permiten ajustar esos valores a los mismos que maneja Arduino para sus pines.

pines arduino
Programación de Pines

Usando los pines digitales de Arduino

Para que Arduino lea el valor de sus pines o terminales, primero cada pin debe estar configurado como entrada. En segundo lugar se utiliza la instrucción digitalRead de la siguiente forma:

digitalRead(num_pin);

Donde dice num_pin se debe indicar el número del pin que se desea leer. Es decir, es un pin que ya fue configurado como entrada y del que se desea saber si tiene un 1 o 0 en determinado instante.

Para que Arduino genere o entregue un valor digital a sus pines, se debe configurar el pin como tal y después se utiliza la instrucción digitalWrite como se muestra:

digitalWrite(num_pin,valor);

En este caso num_pin debe ser sustituido el número del pin a utilizar. En donde dice valor se debe colocar el valor deseado. Es decir, si se desea generar un 1 se escribe la palabra HIGH (alto). En el caso contrario, si se desea generar un 0, se escribe la palabra LOW (bajo).

Ejemplo

A continuación vamos a ver y explicar un ejemplo sencillo de uso de los pines digitales de Arduino.

int valor = 0; //variable donde se almacena el valor leído
void setup()
{
pinMode(13,OUTPUT); /*establece el pin número 13 como salida*/

pinMode(7,INPUT); /* establece el pin número 7 como entrada*/
}
void loop()
{
valor = digitalRead(7); // leer el pin de entrada
digitalWrite(13,valor); /*se entrega en el pin 13 el valor del pin 7*/
}

El programa anterior hace lo siguiente:

Se comienza declarando una variable llamada valor. Ahí se almacenará el valor leído del pin de entrada. Posteriormente se comienza la función void setup(). En este caso, inicialmente ahí se indica que el pin 13 será usado como salida. Después de indica que el pin 7 será utilizado como entrada.

Ahora, en la función void loop() se indica que van a hacer los pines digitales configurados previamente. Primero se indica que se va a leer el pin 7 y el valor que tenga se almacena en la variable valor. Después ese valor de va a entregar o generar en el pin 13.

Conclusiones

Ahora ya sabes de que hablamos cuando se menciona una terminal o pin digital. Para cualquier circuito digital y en especial para los pines en Arduino, hablamos de trabajar con 1s ó 0s. Se mencionó que el 1 significa la presencia de voltaje. Para el caso del 0, hablamos de la ausencia de voltaje.

Este tipo de pines de Arduino permiten, en el caso de las entradas, determinar que valor está presente. Dicho valor puede venir de un sensor, que nos indique por ejemplo la presencia o ausencia de un objeto. En el caso de las salidas, mandar o generar un 1 ó 0 en sus pines puede ayudar a encender o apagar un dispositivo conectado a la placa Arduino.

Por ejemplo, con ayuda de mas dispositivos, podríamos encender y apagar desde un led hasta un motor o lámpara. Posteriormente veremos como hacer cómo hacer en Arduino este tipo de aplicaciones.