Todos los cursos

Control de GPIO con Python en Raspberry Pi

Progreso del curso

Control de GPIO con Python en Raspberry Pi
11%

Autor de la lección

Miguel Ángel Abellán
Porque disfruto programando y tengo la suerte de aprender todos los días.
Lección 2: ¿Qué es GPIO?

  ¿Qué es GPIO?

General Purpose Input Output (GPIO) es un sistema de entrada y salida de propósito general, es decir, consta de una serie de pines o conexiones que se pueden usar como entradas o salidas para múltiples usos. Estos pines están incluidos en todos los modelos de Raspberry Pi aunque con diferencias.

Pines GPIO en Raspberry Pi
Pines GPIO para Raspberry Pi 2 Modelo B

 

Hay que tener en cuenta que dependiendo del modelo de la Raspberry Pi encontramos una cantidad de pines diferentes, por ejemplo, en la versión 1 de Raspberry Pi se tienen 26 pines GPIO mientras que a partir de la versión 2 de Raspberry Pi el número de pines aumentó a 40. Sin embargo la compatibilidad es total, puesto que los 26 primeros pines mantienen su función original.

Revisa la ficha técnica de tu Raspberry Pi antes de utilizar los pines GPIO.

Pines GPIO en Raspberry Pi 1 y 2
Pines GPIO en Raspberry Pi Modelo A y Raspberry Pi 2 Modelo B

 

Como podéis observar, el número de pines pasó de 26 a 40 para tener más disponibilidad, aunque volvemos a comentar que los 26 primeros pines son comunes para todas las versiones. Los pines GPIO tienen funciones específicas (aunque algunos comparten funciones) y se pueden agrupar de la siguiente manera:

  • Amarillo (2): Alimentación a 3.3V.
  • Rojo (2): Alimentación a 5V.
  • Naranja (26): Entradas / salidas de proposito general. Pueden configurarse como entradas o salidas. Ten presente que el nivel alto es de 3.3V y no son tolerantes a tensiones de 5V.
  • Gris (2): Reservados.
  • Negro (8): Conexión a GND o masa.
  • Azul (2): Comunicación mediante el protocolo I2C para comunicarse con periféricos que siguen este protocolo.
  • Verde (2): Destinados a conexión para UART para puerto serie convencional.
  • Morado (5): Comunicación mediante el protocolo SPI para comunicarse con periféricos que siguen este protocolo.

Todos los pines son de tipo "unbuffered", es decir, no disponen de buffers de protección y puedes dañar la placa con un mal uso.

Pines GPIO en Raspberry Pi 2 B
Pines GPIO para Raspberry Pi 2 Modelo B

 

Existen 2 formas de numerar los pines de la Raspberry Pi, en modo GPIO o en modo BCM.

  • En el modo GPIO, los pines se numeran de forma física por el lugar que ocupan en la placa (representados por el color gris) viene siendo igual para todas las versiones (comenzamos a contar desde arriba a la izquierda y finalizamos abajo a la derecha).
  • En el modo BCM, los pines se numeran por la correspondencia en el chip Broadcom (que es la CPU de la Raspberry Pi).

Por este mismo motivo podéis encontrar 2 nomenclaturas a la hora de realizar las prácticas de electrónica con Raspberry Pi, cuando nos refiramos al modo GPIO o al modo BCM. A continuación mostramos una tabla de equivalencias.

Nomenclatura GPIO y BCM
Nomenclatura GPIO y BCM

 

De los pines GPIO disponibles, hay una serie de pines con capacidad de PWM (como volveremos más adelante). Sin ambargo no se dispone de ningún convertidor de analógico a digital. Esto quiere decir que para medir valores de sensores analógicos necesitaremos utilizar un convertidor externo o un Arduino en la mayoría de los casos.

 

  Advertencias

Cuando se utilizan los pines de GPIO hay que poner mucho cuidado para no dañar la propia Raspberry Pi. Es muy importante comprobar los niveles de tensión y la corriente solicitada. Los pines de GPIO pueden generar y consumir tensiones compatibles con los circuitos de 3.3V, como la nueva electrónica. No conectar nunca componentes de 5V, o podéis quemar el chip y quedaros sin Raspberry Pi.

Los pines GPIO ofrecen una tensión de 3.3V y no son tolerantes a tensiones de 5V.

 

Hay que tener presente que la intensidad de corriente que sale de esos pines proviene de la fuente de 3.3V y esta fue diseñada para una carga de unos 3mA por cada pin GPIO, suficiente para encender diodos led, pero poco más.

Los pines GPIO ofrecen una corriente de 3mA.

Utilizamos cookies propias y de terceros para obtener datos estadísticos de la navegación de nuestros usuarios y mejorar nuestros servicios. Si acepta o continúa navegando, consideramos que acepta su uso. Ver más.