Guia de Primeros Pasos con los Pines GPIO en Raspberry Pi
Los pines GPIO en Raspberry Pi son una excelente característica que necesitas conocer. Como administrador de Linux, principalmente utilicé el Pi para probar sistemas y software al principio. Pero para ir más allá y crear tus propios proyectos de electrónica y programas, necesitarás aprender a usar los pines GPIO.
Los pines GPIO permiten agregar extensiones a tu Raspberry Pi, ya sea con HATs o para crear circuitos. La forma más fácil de usar los pines GPIO es creando scripts en Python, pero Scratch u otro software también son buenas opciones a considerar.
En esta guía para principiantes, realmente comenzaré con lo básico en caso nunca hayas probado los pines GPIO. Pero si ya has realizado algunas pruebas, puedes usar la tabla de contenidos a continuación para saltar directamente a lo que deseas saber más.
Necesitarás algunos elementos para completar este tutorial. Si aún no tienes nada, por favor revisa este excelente kit de Sunfounder. Esto podría ser un poco demasiado para este tutorial, pero vale la pena a largo plazo, ya que no necesitarás nada más para tus primeros proyectos.
Si estás empezando con Raspberry Pi o Linux, tengo algo que puede ayudarte de inmediato.
Descarga mi hoja de trucos de comandos Linux gratis – es una guía de referencia rápida con todos los comandos esenciales que necesitas para avanzar con tu Raspberry Pi. Haz clic aquí para obtenerla gratis!
Conceptos Básicos de GPIO
Bueno, comencemos con lo básico sobre GPIO.
¿Qué son los pines GPIO?
GPIO significa Entrada/Salida de Propósito General.
Son los 40 pines que puedes ver en el Raspberry Pi, cerca del borde de la placa:
El objetivo de los pines GPIO es añadir extensiones a tu Raspberry Pi. Por ejemplo, la mayoría de los HATs utilizan estos pines para conectarse con el Raspberry Pi (puedes encontrar mis recomendaciones de HATs para Raspberry Pi aquí si quieres probar uno, en inglés).
También puedes crear circuitos electrónicos conectando estos pines GPIO con cables, LED y otros accesorios. Escucharás más sobre eso más adelante.
Distribución de pines GPIO
Cada pin tiene un rol específico, y puedes usarlo solo para ese rol.
Algunos son entrada/salida, energía (3.3V o 5V), o tierra.
Hay cosas aún más complejas que cubriremos después. Así que es importante saber qué es qué.
Tengo una guía completa sobre el pinout de GPIO aquí que puedes consultar para más detalles.
Aquí hay una ilustración para comenzar rápidamente:
El sitio web pinout.xyz es útil para buscar este tipo de diagramas.
Te da el diseño exacto y la función de cada pin.
Tengo también un artículo dedicado al pinout del Raspberry Pi Pico (en inglés) si estás usando este modelo.
Si tu protoboard o kit de GPIO no vino con uno, recomiendo imprimir esta imagen.
Configuración del Raspberry Pi
Antes de jugar con los pines GPIO, deberíamos tomar algunos pasos con el Raspberry Pi para asegurarnos de que todo esté listo:
- Comenzar actualizando tu sistema.
sudo apt update
sudo apt upgrade - Asegurarte de que la biblioteca de Python ya este instalada (debería estar preinstalada en la mayoría de las versiones).
sudo apt install python3-gpiozero
- Opcional: Habilitar I2C y SPI en raspi-config.
No las necesitas en este tutorial, así que puedes omitir este paso.
Pero si vas más allá después de este, puede ahorrarte tiempo, ya que nadie explica esto 🙂sudo raspi-config
Ir a “Interface Options”.
Y habilitar I2C y SPI en cada submenú.
Los pines I2C y SPI son pines GPIO específicos. Puede que los necesites con algunos módulos de hardware que los requieran (una pantalla como esta, por ejemplo).
Espera, ¡tengo algunas recomendaciones para ti!
Antes de continuar, te invito a descubrir algunos productos que he seleccionado cuidadosamente para ti. Creo que son esenciales para tu Raspberry Pi. Échales un vistazo y pídelos directamente en Amazon.
Una caja silenciosa y práctica | Un SSD de alto rendimiento para potenciar tu Pi | Una pantalla genial para liberar el televisor | Un teclado dedicado con touchpad |
Hardware Necesario
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Aquí está el hardware recomendado que necesitas para seguir el resto de este tutorial (con enlaces de Amazon):
- Raspberry Pi: Buenas noticias, todos los modelos tienen los mismos pines, así que cualquier modelo estará bien.
- Un kit de protoboard será perfecto, con todo lo que necesitas dentro. De esta manera no harás docenas de preguntas para saber qué componente realmente necesitas (no es fácil cuando apenas empiezas con circuitos GPIO).
- O al menos:
- Un protoboard
- Algunos cables jumper macho/hembra, para conectar el protoboard a los pines GPIO
- Y también cables jumper macho/macho pueden ser útiles también (en el protoboard)
- LEDs y resistencias
- No tengo uno aún, pero este tipo de placa de expansión GPIO es una excelente opción para saber qué pin usar
Estos componentes serán útiles para muchos proyectos más adelante, es una larga lista de cosas que necesitas para comenzar, pero las usarás cada vez después de eso 🙂
Eso es todo, una vez que tengas todo listo, puedes pasar a la siguiente parte.
Conceptos Básicos del Breadboard
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Comencemos con el breadboard.
Si es tu primera vez con él, puedes tener dificultades para entender cómo funciona.
Instalación del Breadboard
Si estás utilizando el kit de breadboard que recomendé arriba, el primer paso es instalarlo en la caja de plástico azul.
Generalmente, tienes que colocarlo en el espacio grande y atornillar el Raspberry Pi en la ubicación correspondiente.
En este punto, tu configuración debería verse así:
No conectes el cable de alimentación de el Raspberry Pi por el momento.
Esquema del Protoboard
Antes de continuar, necesitas entender cómo funciona un protoboard.
Cada agujero es un pin que puedes usar para conectar algo.
Entrada de Energía
En los bordes de la placa, hay dos líneas:
- La línea roja es para la entrada de energía
- La línea azul es para la tierra
Cada puerto está conectado con todos los pines de la misma línea.
Atención, con algunos protoboards (como el mío), hay una separación en el medio, puedes ver un espacio en la línea roja, por ejemplo.
Si conectas cerca del puerto 0, no funcionará cerca del puerto 50.
Otros Puertos
Los otros puertos se usan para todo lo demás (LEDs, resistencias, otros módulos).
Un cable los conecta en columnas.
Si tomas un número en la placa, conecta cada puerto de la misma columna con los otros.
Esquema
Quedará más claro con esta imagen:
He cuadrado cada puerto conectado.
El cuadrado rojo corresponde a una línea de entrada de energía.
Hay cuatro líneas de este tipo en la placa.
Si ingresas energía en uno de los puertos cuadrados, puedes usarla desde cualquier otro puerto resaltado.
Para los puertos de tierra, es lo mismo (cuadrado azul).
Y para los otros puertos, puedes ver el cuadrado verde cómo están conectados juntos.
Es lo mismo para cada columna, para ambos lados de la línea central.
Si es necesario, aquí tienes un esquema completo:
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Tu Primer Circuito: ¡Parpadea el LED!
Ok, ese es el fin de la parte teórica, y el comienzo de tu primer tutorial de circuito.
Ahora vamos a practicar 🙂
Configuración de la Breadboard
Como siempre, comienza a conectar los pines sin tener una fuente de energía conectada.
Para comenzar necesitas:
- 1x LED
- 2x cables jumper macho/hembra
- 1x resistor
Toma los dos cables jumper y conéctalos así:
- Uno desde la línea de tierra a un pin de tierra del Raspberry Pi (por ejemplo, el cuarto de la primera fila, puerto 9)
- El otro desde un puerto de entrada/salida (por ejemplo, el penúltimo de la primera fila, puerto 26)
Ahora tienes dos cables, conectados solo al Raspberry Pi.
En el otro lado, necesitas conectarlos a la breadboard:
- Conectar un LED con cada pata en dos columnas diferentes como se muestra en el diagrama a continuación.
- Conectar el cable de tierra en la misma columna que la pata más corta del LED, a su lado.
- Conectar el otro cable a la columna adyacente, pero en el lado opuesto de la placa de pruebas.
- Finalmente, colocar la resistencia entre el cable de entrada y el LED.
Un esquema lo hará todo más claro, aquí está cómo debería verse:
Ahora arranca el Raspberry Pi y accede por SSH (o GUI si prefieres) para crear el script de Python.
Tan pronto como el Raspberry Pi se encienda, evita tocar el circuito.
Script de Python
El primer script básico que podemos programar es encender la luz LED para verificar que todo funciona.
Para hacer esto, Raspberry Pi OS ya incluye todas las bibliotecas que necesitas.
Nota: La biblioteca de Python RPi.GPIO ha sido discontinuada. Ahora se recomienda usar gpiozero, que funciona en todas las versiones de Raspberry Pi. Hay otras opciones disponibles, pero como está preinstalada, empecemos con ella.
En una terminal, o con tu editor de código favorito, crea un nuevo archivo python: nano led_on.py
Pega estas líneas dentro:
from gpiozero import LED
from time import sleep
led = LED(26)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
El código es bastante fácil de leer, así que debería ser claro.
La única trampa es el número de pin a usar en la función LED.
Puedes tener una numeración diferente en tu placa de expansión o adhesivo, pero debes usar el número BCM de pinout.xyz.
Guardar y salir (CTRL+X) y ejecutar el script con: python3 led_on.py
El LED debería comenzar a parpadear (un segundo encendido, un segundo apagado).
Si no, verifica cada párrafo anterior para ver qué se te ha pasado.
Si tu circuito parece correcto, revisa la dirección del LED, hay un lado + y -.
Por cierto, si eres nuevo con los scripts en Python, probablemente debas ver este artículo primero (en inglés). También tengo un e-book completo sobre Python en Raspberry Pi que explica todo desde lo básico hasta la maestría. Te lo recomiendo mucho si estás serio sobre aprender Python y Raspberry Pi.
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Conclusión
Eso es todo, ahora has aprendido lo básico sobre los pines GPIO y la breadboard.
Ya puedes construir circuitos básicos y estás listo para el siguiente nivel 🙂
También te puede gustar:
- Comenzando con Scratch en Raspberry Pi (en inglés)
- Los 11 Mejores Kits de Robots de Raspberry Pi para Principiantes
- Habilitar UART en Raspberry Pi: Una Guía Paso a Paso
- Cómo Conectar y Programar un Sensor de Movimiento con Raspberry Pi (en inglés)
Cuando estés preparado, aquí tienes un atajo para ti:
Domina tu Raspberry Pi en 30 días: Si buscas los mejores consejos para convertirte en un experto en Raspberry Pi, este libro es para ti. Aprende habilidades útiles de Linux y practica múltiples proyectos con guías paso a paso.