micropython-entradas-y-salidas-digitales

Entradas y salidas digitales con los GPIO en MicroPython

  • 3 min

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.

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

  1. Utilizamos el método Pin
  2. Especificamos el número de pin (o el nombre, si tiene)
  3. 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()

Entrada digital

Ahora vamos a ver cómo utilizar un pin como entrada. Básicamente es muy similar,

  1. Igualmente utilizamos el método Pin
  2. Especificamos el número de pin (o el nombre)
  3. 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