Guía para principiantes de Raspberry Pi: GPIO y HATS

Una vez instalado tu S.O tendrás una parte del software lista, pero ¿qué hay del hardware? ¿qué es ese puerto con tantos pines que está a un costado de la tarjeta? Revisemos un poco de que se tratan.

En tu Raspberry puedes encontrar ciertos periféricos ya disponibles como el puerto Ethernet o el modem Bluetooth a los que puedes accesar mediante ciertas aplicaciones. Así tambien el sistema puede reconocer nuevos periféricos conectados mediante USB, como tu teclado o mouse. Pero si quisieras conectar hardware adicional e interactuar directamente con el procesador necesitas el puerto de entradas y salidas de propósito general, mejor conocido por sus siglas en inglés General Purpose Input/Output, GPIO.

Comparación entre la primera Raspberry y las siguientes versiones.

¿Qué es el puerto GPIO?

El puerto GPIO consiste en una serie de pines que sobresalen de tu tarjeta y son entradas y salidas digitales que implementan ciertos protocolos de comunicación, como el UART, I2C o SPI. Si has usado estos protocolos anteriormente te resultarán familiares, si no, basta con decir que permite agregar periféricos de una forma relativamente cómoda y establecer la transmisión de datos entre ellos y la Raspberry.

Pinout para el puerto GPIO de la raspberry 3B+. En los pines 3 y 5 esta el puerto I2C, en el 8 y 10 está el UART y el SPI en el 19,21 y 23.

¿Qué usos tiene el puerto GPIO?

Por poner un ejemplo, supongamos que requiero implementar un proyecto que, entre otras cosas, debe encender un LED de acuerdo a lo que se ejecute en el programa. Para lograr esto puedo utilizar una salida digital de mi Raspberry que se encuentra en el GPIO e indicarle cuándo y cómo encender dicho LED. O podría agregar un botón de entrada que accione una función. Si quisiera, además, que mi proyecto detecte la orientación de la tarjeta, puedo agregar un acelerómetro para enviar y leer los datos por I2C. El puerto GPIO da la posibilidad de hacer más complejo nuestro sistema, disponiendo de nuevos elementos además de los que se tienen disponibles.

NOTA: si deseas saber el pinout de tu header GPIO, abre una terminal y teclea el comando pinout, con esto se mostrará un grafico en ASCII que te mostrará a que corresponde cada pin.

¿Qué puedo conectar al puerto GPIO?

Ahora, existen los llamados HATs, que a grandes rasgos son tarjetas que cómodamente uno inserta en el puerto y hacen las conexiones necesarias para usarlas. ¿Necesitas una matriz LED RGB, controlar servomotores, añadir sensores o automatizar un proceso? Sin duda debe haber un HAT para cada necesidad, y lo mas conveniente es que los desarrolladores ponen al servicio del usuario las librerías que permiten utilizarlos.

Sense HAT, para Raspberry Pi 3. Se trata de un conjunto de sensores y una matriz que permiten añadir un diverso conjunto de funcionalidades a tu Raspberry.

Para concluir esta revisión es necesario mencionar que el puerto GPIO funciona con tecnología de 3.3V por lo que debes ser cuidadoso de no mandar señales de 5V. Para evitar dañar tu tarjeta usa convertidores de nivel, así aseguras que nada se dañe.

Familiarizarte con cómo funciona tu Raspberry necesariamente implica aprender a usar el puerto GPIO, por eso te invitamos a que lo emplees rigurosamente en tus proyectos y expandas tus posibilidades.

Referencias:

GPIO – Raspberry Pi Documentation