Todo lo que necesitas saber sobre los pines GPIO de Raspberry Pi
Desde jugar hasta ejecutar un sistema de entretenimiento Kodi , hay muchas cosas que puedes hacer con una Raspberry Pi. Pero puedes hacer aún más cosas si conoces su entrada-salida de propósito general (GPIO). ¡Aquí tienes una guía para que puedas empezar a trabajar con los pines GPIO de Raspberry Pi!
¿Qué son los pines GPIO de Raspberry Pi?
Los pines GPIO de la Raspberry Pi son esos pines metálicos que sobresalen de un lado, justo en el lado opuesto de donde se encuentran los conectores HDMI y de alimentación.
Sin embargo, no todos esos pines cuentan como «GPIO». Entre ellos, 26 se pueden configurar en pines lógicos de entrada y salida. Esos son los pines GPIO. El resto son pines de alimentación.
Al programarlos en pines de entrada o salida, puede convertirlos en una computadora lógica que puede leer entradas y mostrar salidas. Por ejemplo, puede conectar un pin de entrada a un circuito de botón pulsador y un pin de salida a un LED para que se encienda cada vez que se presione el botón.
Configuración de pines de Raspberry Pi
Antes de poder programar cada pin en entradas y salidas, primero necesita saber qué pines son cuáles.
Cada pin de la Raspberry Pi está numerado del 1 al 40. Si miras la Raspberry Pi de tal manera que los puertos USB apunten hacia el piso, el pin superior izquierdo debe ser el pin 1. El pin a su derecha es pin 2, y el conteo continúa hasta llegar al pin 40 en la parte inferior derecha.
Ahora bien, los siguientes pines no son GPIO: son pines de alimentación que se cargan constantemente para generar un voltaje (3v3 y 5V) o están destinados a recibir voltaje (Tierra).
- 1 y 17 (3v3)
- 2 y 4 (5V)
- 6, 9, 14, 20, 25, 30, 34, 39 (Tierra)
Normalmente, puedes llamar a estos pines por su nombre. Entonces, si se refería al pin 7 como GPIO, puede llamarlo simplemente pin 7. Esto se llama numeración de la TARJETA .
Por otro lado, también puedes denominarlos por su numeración individual en función del chip procesador del periférico. Esto se conoce como numeración BCM y se denomina así porque el chip que ejecuta estos pines pertenece a la familia de procesadores BCM.
Establecer pines de entrada y salida
Puedes programar los pines GPIO de Raspberry Pi con Thonny, que es el editor Python predeterminado que viene con el sistema operativo Raspberry Pi.
El siguiente código configura el pin 7 (GPIO 4) como pin de salida y el pin 8 (GPIO 14) como pin de entrada usando la numeración de la TARJETA.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.
GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.
Explicación del código.
Para trabajar con pines GPIO, deberá importar la biblioteca GPIO de Raspberry Pi. Esto se hace ingresando import RPi.GPIO as GPIO
.
Después de eso, deberás configurar el modo. Úselo GPIO.setmode(GPIO.BOARD)
para indicarle al intérprete de MicroPython que lea en modo BOARD. O utilícelo GPIO.setmode(GPIO.BCM)
para leer en modo BCM.
Para configurar los pines, necesitarás usar la GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>)
función. Se necesitan dos argumentos. El primero es el número PIN basado en el modo de numeración que seleccionó anteriormente. El segundo es el estado, ya sea que desee configurarlo como pin de salida con GPIO.OUT
o como pin de entrada con GPIO.IN
.
A continuación, con los pines de salida, puede configurarlos en alto o bajo usando el archivo GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>)
. Configurar un pin de salida en ALTO lo carga hasta 3 voltios. Esto cuenta como un “sí” o un “1” en lógica informática. LOW hace lo contrario, cargándolo hasta cerca de 0 voltios.
Por otro lado, puedes leer los valores de los pines de entrada. Si reciben 3 voltios, se registrarán como ALTO y devolverán un valor booleano con GPIO.input(<pin>)
. Los booleanos son valores que son Verdaderos o Falso. Puedes usar estos valores en bucles while y declaraciones if para hacer cosas lógicas aún más profundas con ellos.
Conexión de GPIO y pines de alimentación a componentes periféricos
Los pines GPIO de la Raspberry Pi se conocen como pines macho. Esto se debe a que tienen piezas de metal que sobresalen en lugar de una bandeja de pines como el Arduino Uno.
La mayoría de los componentes de creación de prototipos vienen con pines macho para que sea más fácil colocarlos en una placa. Puede utilizar cables de puente macho a hembra para conectarlos en una placa de pruebas o cables de puente hembra a hembra para conectarlos directamente a los componentes.
Además, en la mayoría de los componentes, a veces encontrará una marca «S», «IN» o «OUT» directamente en sus pines. Esto significa que el pin que está justo al lado de ellos debe conectarse a los pines GPIO. Las marcas dependen del componente: muchos componentes ni siquiera los nombran así porque tienen entre 3 y 9 pines de señal, entrada o salida en la placa.
Para saber qué pin debe ir a cada lugar, puede consultar su “hoja de datos”, que son los consejos del fabricante sobre cómo utilizar el componente y su comportamiento esperado. Estos son específicos de un modelo o marca, especialmente cuando se trata de módulos que se ajustan a muchos otros componentes en su interior.
Cuidando los pines GPIO de Raspberry Pi
Los pines GPIO son algo sensible. Es fácil romperlos si no tienes cuidado.
Por un lado, debe asegurarse de que solo las fuentes eléctricas que funcionan con lógica de 3 voltios se conecten a estas cosas. Aplicar 5 voltios a cualquier pin GPIO es una forma de romperlos.
Otra cosa que podría romperlos es conectar un pin de salida directamente a un pin de entrada sin ninguna resistencia o componente intermedio. Si bien el voltaje sigue siendo el mismo, la corriente que fluye desde el pin de salida puede dañar potencialmente el pin de entrada.
Tan pronto como aprenda a usarlos correctamente, podrá hacer muchas cosas con una Raspberry Pi. Por un lado, podría conectar un motor de CC a uno y hacerlo funcionar sobre ruedas o actuar como un pequeño ventilador eléctrico. Y si agrega ruedas, ¡incluso podría controlar un robot Raspberry Pi de forma inalámbrica a través de SSH en un banco de energía ! Estos pines GPIO amplían las capacidades de la Raspberry Pi a cosas mucho más grandes de las que podrían lograr sin ellos.
Crédito de la imagen: Unsplash
Deja una respuesta