Un recorrido por el GPIO de Raspberry Pi

los Frambuesa pi pueden ser muchas cosas. Eso es parte de su atractivo. Puede usar el Pi como una PC normal, conectando dispositivos periféricos a través de los puertos USB y HDMI de la placa. Si desea profundizar en los aspectos técnicos del Pi, preste atención al conjunto de pines a lo largo del costado de la placa de circuito. Esos pines son la clave para usar Raspberry Pi en IoT, robótica y otros proyectos. Los pines no son tan intimidantes como podría pensar, una vez que se desglosan y explican.

Raspberry Pi GPIO

Introducción a los pines de Raspberry Pi

El término GPIO (entrada y salida de propósito general) no es exclusivo de la Frambuesa pi. Los pines de entrada y salida se pueden encontrar en la mayoría de los microcontroladores como Arduino, Beaglebone y más.

El GPIO con Raspberry Pi es el bloque largo de pines en la esquina superior izquierda de la placa. Los modelos más antiguos tenían 26 pines y los modelos actuales tienen 40 pines.

Puede conectar componentes y otros dispositivos de hardware a estos pines y usar código para controlar lo que hacen los componentes. Es una parte importante de la Raspberry Pi y una excelente manera de aprender sobre electrónica.

Después de algunos proyectos de software, es probable que se encuentre experimentando con estos pines, ansioso por mezclar su código con hardware para que las cosas sucedan en la vida real.

Este proceso puede resultar intimidante si es nuevo en el Pi. Teniendo en cuenta que un movimiento en falso puede dañar su Raspberry Pi, es comprensible que sea un área nerviosa para que la exploren los principiantes.

Este artículo explica qué hace cada tipo de pin GPIO y sus limitaciones.

El GPIO

Primero, echemos un vistazo al GPIO en su conjunto. Los pines pueden tener el mismo aspecto, pero todos tienen funciones diferentes. La siguiente imagen muestra estas funciones en diferentes colores.

Diagrama de secuencia de pines GPIO de Raspberry Pi

Cada pin está numerado del 1 al 40, comenzando desde la esquina inferior izquierda. Estos son los números de pin físicos. Sin embargo, también existen convenciones de numeración y etiquetado, como BCM, que se utilizan al escribir código.

Energía y tierra

Destacados en rojo son los pines de alimentación etiquetados como 3 o 5 para 3.3V o 5V. Estos pines le permiten enviar energía a un dispositivo sin la necesidad de ningún código. Tampoco hay forma de apagarlos.

Los pines de alimentación y tierra GPIO de Raspberry Pi

Hay dos rieles de alimentación: 3,3 voltios y 5 voltios. El riel de 3,3 V está limitado a un consumo de corriente de 50 mA. Por el contrario, el riel de 5 V proporciona cualquier capacidad de corriente que quede de la fuente de alimentación después de que el Pi haya tomado lo que necesita.

Destacados en marrón están los pines de tierra (GND). Estos pines de tierra son una parte vital de cualquier proyecto de electrónica.

Los pines GPIO de 5V son números físicos 2 y 4. Los pines GPIO de 3.3V son números físicos 1 y 17. Los pines GPIO de tierra son números físicos 6, 9, 14, 20, 25, 30, 34 y 39.

Pines de entrada / salida

Los pines verdes son pines de entrada / salida genéricos. Estos se pueden usar fácilmente como entradas o salidas sin chocar con otras funciones como I2C, SPI o UART.

Estos pines pueden enviar energía a un LED, zumbador u otros componentes, o pueden usarse como entrada para leer sensores, interruptores u otros dispositivos de entrada.

Pines de entrada y salida GPIO de Raspberry Pi

La potencia de salida de estos pines es de 3,3 V. Cada pin no debe exceder los 16 mA de corriente, ya sea hundiéndose o generando. El conjunto completo de pines GPIO no debe exceder más de 50 mA a la vez. Esto puede ser restrictivo, por lo que es posible que deba ser creativo en ciertos proyectos.

Los pines GPIO genéricos son números físicos 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 y 40.

Pines I2C

Los pines I2C están en amarillo. I2C es un protocolo de comunicación que permite que los dispositivos se comuniquen con la Raspberry Pi. Estos pines también se pueden utilizar como pines GPIO genéricos.

Pines GPIO de Raspberry Pi I2C

Un buen ejemplo de uso I2C es el popular chip expansor de puerto MCP23017, que puede brindarle más pines de entrada / salida a través de este protocolo I2C.

Los pines I2C GPIO son pines físicos números 3 y 5.

Pines UART (serie)

Los pines UART están en gris. Estos pines son otro protocolo de comunicación que ofrece conexiones en serie y se pueden utilizar como entradas / salidas GPIO genéricas.

Pines UART GPIO de Raspberry Pi

Un uso de UART es habilitar una conexión en serie desde un Pi a una computadora portátil a través de USB. Esto se puede lograr mediante tarjetas complementarias o cables simples. Elimina la necesidad de una pantalla o conexión a Internet para acceder a su Pi.

Los pines UART GPIO son pines físicos números 8 y 10.

Pines SPI

Los pines SPI son de color rosa. SPI es un bus de interfaz que envía datos entre el Pi y otro hardware y periféricos. Se usa comúnmente para encadenar dispositivos como un DIRIGIÓ matriz o pantalla.

Pines GPIO SPI de Raspberry Pi

Como otros, estos pines también se pueden usar como entradas / salidas GPIO genéricas.

Los pines SPI GPIO son pines físicos números 19, 21, 23, 24 y 26.

Pines DNC

Por último, hay dos pines en azul que actualmente están etiquetados como DNC, que significa No conectar. Esto puede cambiar en el futuro si Raspberry Pi Foundation altera las placas o el software.

Pines GPIO de Raspberry Pi DNC

Los pines DNC GPIO son pines físicos números 27 y 28.

Convenciones de numeración GPIO

Al codificar con GPIO, tiene la opción de importar la biblioteca GPIO de una de estas dos formas: BCM o BOARD.

La primera opcion es GPIO BCM. Esta es la convención de numeración de Broadcom. Se usa comúnmente en proyectos y complementos de hardware.

La segunda opcion es PLACA GPIO. En su lugar, este método utiliza los números de pines físicos, lo cual es útil al contar pines. Verá que se usa menos en ejemplos de proyectos.

Raspberry Pi Portsplus

El modo GPIO se establece al importar la biblioteca GPIO:

importar RPi. GPIO como GPIO. 

Para importar como BCM:

GPIO.setmode (GPIO.BCM)

Para importar como TABLERO:

GPIO.setmode (GPIO.BOARD)

Ambos métodos hacen el mismo trabajo. Es una cuestión de preferencia de numeración.

Puede utilizar placas de etiquetas GPIO como las RasPiO Portsplus (en la imagen) para comprobar a qué pines está conectando los cables. Un lado muestra la convención de numeración BCM. El otro muestra TABLERO. Por lo tanto, está cubierto para cualquier proyecto que encuentre.