Correo: [email protected] - Teléfono: +56979962128

Aprende a configurar las entradas y salidas GPIO de Raspberry Pi Pico como entradas y salidas digitales usando el firmware MicroPython. Por ejemplo, aprenderás a leer el valor de un pulsador y a encender un LED según corresponda. Con este sencillo ejemplo, aprenderás a leer cualquier entrada digital y a controlar cualquier salida digital.

 
Control de salidas digitales y lectura de entradas digitales de Raspberry Pi Pico con MicroPython
 

Prerrequisitos

Para seguir este tutorial, necesitas tener instalado el firmware MicroPython en tu placa Raspberry Pi Pico. También necesitas un IDE para escribir y cargar el código en la placa.

El IDE de MicroPython recomendado para Raspberry Pi Pico es Thonny IDE. Sigue el siguiente tutorial para aprender a instalar Thonny IDE, instalar el firmware de MicroPython y cargar el código en la placa.

Descripción general del proyecto

Para mostrarte cómo usar las entradas y salidas digitales, crearemos un proyecto sencillo con un pulsador y un LED. Analizaremos el estado del pulsador y encenderemos el LED según corresponda, como se muestra en la siguiente figura.

Control de Salidas Digitales y Lectura de Entradas Digitales pulsador presionado led encendido apagado
 

GPIO de Raspberry Pi Pico

La Raspberry Pi Pico viene con 40 pines, 26 de los cuales son GPIO programables que puedes usar para conectar periféricos.

Puede usar la siguiente distribución de pines como referencia para identificar y localizar cada GPIO en su placa. La distribución de pines es ligeramente diferente para Pico y Pico W.

La siguiente imagen muestra la distribución de pines del Raspberry Pi Pico (qué funciones admite cada pin).

Distribución de pines de Raspberry Pi Pico
Fuente de la imagen: raspberrypi.com
Distribución de pines de la Raspberry Pi Pico W

Los pines marcados en rojo son de alimentación y tienen una salida de 3,3 V. Los pines negros son de tierra. Todos los pines en verde claro se pueden usar como GPIO (entrada y salida) normales.

Entradas digitales

Para obtener el valor de un GPIO, primero debe crear un Pin objeto

 y configurarlo como entrada. Por ejemplo:




button = Pin(21, Pin.IN)

Esto crea una

Pin

objeto llamado

button

en GPIO 21. Entonces, cuando usas esta línea de código, le estás diciendo a tu programa que GPIO 21 debe actuar como una entrada (

Pin.IN

).

También puede configurar las entradas para que usen la resistencia pull-up o pull-down interna del microcontrolador. Para un pulsador, es útil usar la resistencia pull-down interna. Para ello, puede agregar un tercer parámetro a Pin

()

constructor (PULL_DOWN

).

button = Pin(21, Pin.IN, Pin.PULL_DOWN)
Dependiendo de la forma en que esté cableando su pulsador, es posible que desee utilizar la resistencia pull-up interna, en ese caso:
button = Pin(21, Pin.IN, Pin.PULL_UP)

Después de declararlo como entrada, para obtener su valor, debe utilizar el metodo

value()

en el objeto PIN

sin pasar ningún argumento. Por ejemplo, para obtener el estado de el objeto PIN

llamado BUTTON

, utiliza la siguiente expresión:

 
button.value()

Le mostraremos con más detalle cómo funciona todo en el ejemplo del proyecto.

 

Salidas digitales

Para activar o desactivar un GPIO, primero debes configurarlo como salida. Por ejemplo:

led = Pin(20, Pin.OUT)
 

Esto crea un objeto PIN

llamado led

en GPIO 20. Por lo tanto, cuando usa esta línea de código, le está diciendo a su programa que GPIO 20 debe actuar como una salida (

Pin.OUT

).

Para controlar el GPIO, utilice el método

value()

en el objeto PIN

y pase 

1

o

0

como argumento. Por ejemplo, el siguiente comando establece el objeto PIN

(led

) en ALTO—enciende el LED:

led.value(1)

Para establecer el GPIO en BAJO, pase

0

como argumento—apaga el LED:

led.value(0)
 

Esquemático

Antes de continuar, necesitas ensamblar un circuito con un LED y un pulsador. Conectaremos el LED a

GPIO 20

y el pulsador para

GPIO 21

Piezas necesarias

Aquí hay una lista de las piezas que necesitas para construir el circuito:

  • Raspberry Pi Pico
  • LED de 5 mm
  • Resistencia de 330 ohmios
  • Pulsador
  • Resistencia de 10 kOhm
  • Tablero de circuitos
  • cables puente
¡Puedes encontrar todos estos productos en www.Mcielectronics.cl !

.

Esquema – Raspberry Pi Pico

Puedes utilizar el siguiente diagrama como referencia para conectar el pulsador y el LED a la placa Raspberry Pi Pico.

Diagrama esquemático del LED del pulsador de Raspberry Pi Pico
 

SCRIPT

El siguiente código lee el estado del pulsador y enciende el LED en consecuencia.

#  Rui Santos
#  Complete project details at https://RandomNerdTutorials.com/raspberry-pi-pico-outputs-inputs-micropython/

from machine import Pin
from time import sleep

led = Pin(20, Pin.OUT)
button = Pin(21, Pin.IN, Pin.PULL_DOWN)

while True:
  led.value(button.value())
  sleep(0.1)
  print(button.value())
 

Cómo funciona el código

Comienza importando la clase PIN de el módulo Machine , y la clase Sleep de el módulo tiempo
from machine import Pin
from time import sleep

Luego, crea un objeto Pin llamado led en GPIO 20. Los LEDs son salidas, así que pasa como segundo argumento Pin.OUT.

led = Pin(20, Pin.OUT)

También creamos un objeto llamado button en

GPIO 21

. Los pulsadores son entradas, y queremos usar la resistencia interna de pull-down, así que lo declaramos de la siguiente forma.

button = Pin(21, Pin.IN, Pin.PULL_DOWN)

Usar

buttón.value()

para devolver/leer el estado del botón. Luego, pasa la expresión button.value

()

 como argumento del valor del LED.

led.value(button.value())

De esta manera, cuando presionamos el botón, button.value() devuelve 1. Entonces, esto es lo mismo que tener led.value(1).

Esto establece el estado del LED en 1, encendiendo el LED. Cuando el pulsador no está siendo presionado, button.value() devuelve 0. Entonces, tenemos led.value(0), y el LED permanece apagado.

Demostración

Guarde el código en su placa Raspberry Pi Pico usando 

Thonny IDE

 o cualquier otro IDE de MicroPython de su elección.

Siga las siguientes instrucciones si está utilizando Thonny IDE.

Copie el código proporcionado al archivo sin título de Thonny IDE.

 
Entradas y salidas IDE de Thonny MicroPython Raspberry Pi Pico
 

Con el código copiado al archivo, haz clic en el  icono 

Guardar 

 . Luego, selecciona  

Raspberry Pi Pico

 .

Guardar archivo en Raspberry Pi Pico MicroPython IDE
 

Guarde el archivo con el siguiente nombre:  

main.py.

 Sobrescriba cualquier archivo existente con el mismo nombre.

 
archivo main.py de micropython
  Nota:

 Cuando nombras un archivo main

.py

La Raspberry Pi Pico ejecutará ese archivo automáticamente al arrancar. Si le asigna un nombre diferente, se guardará en el sistema de archivos de la placa, pero no se ejecutará automáticamente al arrancar.

Reinicia tu placa (desconéctala y conéctala a tu computadora).

Luego, el LED debería encenderse cuando presiones el botón y permanecer apagado cuando lo sueltes.

LED del botón pulsador de Raspberry Pi Pico apagado
LED del botón pulsador Raspberry Pi Pico encendido
       

Concluyendo

Para resumir, para leer el valor de un GPIO, simplemente necesitamos usar el método value()

en el objeto PIN correspondiente

. Para establecer el valor de un GPIO, solo necesitamos pasar como argumento

1

o

0  hacia el método value

()

 para activarlo o desactivarlo, respectivamente.

Preguntas frecuentes

¿Cómo configuro un pin de la Raspberry Pi Pico como entrada o salida?

Desde MicroPython, declarando el GPIO correspondiente como entrada o como salida. El ejemplo del tutorial lee el valor de un pulsador y enciende un LED según corresponda.

¿Qué diferencia hay entre entrada y salida digital?

La entrada lee si el pin está en alto o bajo, por ejemplo el estado de un botón. La salida fija ese estado para actuar sobre algo, como encender un LED.

¿Este ejemplo sirve para otros componentes?

Sí. Con ese ejemplo sencillo se aprende a leer cualquier entrada digital y a controlar cualquier salida digital; solo cambia el componente conectado al pin.

¿Qué necesito para seguir este tutorial?

Una Raspberry Pi Pico con el firmware de MicroPython instalado, un LED, un pulsador y los componentes del esquema que incluye la guía.

Aprende esto en un curso

Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial: