Raspberry Pi: GPIO (parte I)

GPIO son las siglas de General Purpose Input/Output. Se trata de los pines que tienen todas las placas Raspberry Pi en uno de sus bordes. Los modelos anteriores a 2014 solo tenían 26 pines GPIO, pero las placas actuales disponen de 40:

La numeración no es arbitraria. Cada pin físico tiene un identificador numérico asociado y están distribuidos como se muestra en la imagen. Los identificadores pares están asignados de forma consecutiva a los pines de la derecha y los impares a los de la izquierda. La distribución y funcionamiento es común en todas las placas de 40 pines.

En la siguiente imagen podéis ver la funcionalidad de cada pin:

5V, 3.3V y GND

Hay 2 pines de 3.3V (1 y 17), otros 2 pines de 5V (2 y 4). También hay 8 pines de tierra 0V (6, 9, 14, 20, 25, 30, 34, 39).

Ninguno de estos pines es configurable. Todos son salidas y su voltaje es permanente.

GPIO

El resto de pines son de 3.3V, pero si son configurables. Esto significa que se podrán configurar como entrada o como salida.

Si se configuran como salida, esta podrá ser de 3.3V o de 0V.

Si se configuran como entrada tolerarán 3.3V máximo. Una entrada superior a 3.3V podría dañar la placa.

Los pines GPIO tienen su propia numeración que no se corresponde con la del pin físico asociado. A la hora de configurar un GPIO se podrá elegir la numeración física del pin o la del propio GPIO. Esto lo veremos en detalle más adelante.

Algunos pines tienen funcionalidades específicas, además de poder ser usados como simples entradas o salidas. Las podéis consultar en la siguiente tabla:

PWM– Software: Todos los pines
– Hardware: GPIO12, GPIO13, GPIO18, GPIO19
SPI– SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
– SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
I2C Data (GPIO2); Clock (GPIO3)
– EEPROM: Data (GPIO0); Clock (GPIO1)
UARTTX (GPIO14); RX (GPIO15)

En el próximo artículo os contaré cómo configurar los pines GPIO.

Deja una respuesta

Subir ↑