En este tutorial vamos a ver cómo usar los pines GPIO en MicroPython, y cómo usarlos como entradas y salidas digitales.
Los GPIO (General Purpose Input/Output) son pines digitales en una placa de desarrollo que pueden configurarse como entradas o salidas.
- Salida (Output): Un pin configurado como salida puede controlar un dispositivo externo (como un LED o un relé).
- Entrada (Input): Un pin configurado como entrada puede leer una referemcia de tensión.
Estos pines permiten a la placa interactuar con dispositivos externos, como LEDs, pulsadores, sensores y actuadores.
Si quieres aprender más consulta,
Configuración de un Pin GPIO
En MicroPython, los GPIO se manejan a través de la clase Pin
, que nos proporciona los métodos para configurar y controlar los pines.
Para utilizar un pin GPIO en MicroPython, primero debemos importar la clase Pin
desde el módulo machine
.
from machine import Pin
Una vez importado, ya podemos configurar el pin como entrada o salida, y utililizar las funciones a través del objeto Pin
.
Salida digital
Empezamos viendo cómo utilizar un pin como salida. Para ello
- Utilizamos el método
Pin
- Especificamos el número de pin (o el nombre, si tiene)
- Usamos como modo (
Pin.OUT
).
Vamos a verlo con un ejemplo
led = Pin("LED", Pin.OUT) # Configura el LED como salida
otro_led = Pin(6, Pin.OUT) # Configura el pin 6
En este ejemplo,
- Hemos declarado el pin integrado en la placa “LED” como salida.
- Hemos declarado el pin 6 como salida.
Ahora podemos utilizar los métodos value()
o on()
y off()
para controlar el estado del pin.
led.on() # Enciende el LED
led.value(1) # es lo mismo que on()
led.off() # Apaga el LED
led.value(0) # que es lo mismo que off()
Por simplicidad, estoy usando en el ejemplo el LED integrado en la placa. Si quieres usar un LED externo, tendrás que conectarlo con su resistencia, como vimos en la entrada,
Entrada digital
Ahora vamos a ver cómo utilizar un pin como entrada. Básicamente es muy similar,
- Igualmente utilizamos el método
Pin
- Especificamos el número de pin (o el nombre)
- Esta vez usamos el modo
Pin.IN
Vamos a verlo con un ejemplo.
mi_entrada = Pin(4, Pin.IN) # Configura el pin 4 como entrada
Una vez que tenemos el pin configurado, podemos utilizar el método value()
para leer el estado del pin.
estado = mi_entrada.value() # Lee el estado del pin
El método value()
, llamado sin parámetros.
- Devuelve
1
si el pin está en HIGH - Devuelve
0
si el pin está en LOW
Ejemplos practicos
Parpadeo de un LED
Nuestro querido “blink”, un ejemplo que hace parpadear un LED conectado al pin 2.
from machine import Pin
import time
led = Pin(2, Pin.OUT) # Configura el pin 2 como salida
while True:
led.on() # Enciende el LED
time.sleep(1) # Espera 1 segundo
led.off() # Apaga el LED
time.sleep(1) # Espera 1 segundo
Este código hace que el LED parpadee cada segundo.