Introducción
En esta página te llevaremos de la mano para realizar la primera práctica con el microcontrolador RP2040 que consistirá en parpadear un LED con Raspberry Pi Pico y MicroPython.
La Raspberry Pi Pico y su sucesora, la Pico 2 son, las nuevas plataformas de desarrollo con microcontroladores de los creadores de la popular computadora de placa única y en esta serie de tutoriales te enseñaremos a sacarle todo el jugo a este poderoso y económico microcontrolador.
Para hacerlo utilizaremos el interprete de lenguaje Python especialmente diseñado para ejecutarse en microcontroladores conocido como MicroPython. Se trata de una versión de este lenguaje especialmente desarrollada para ejecutarse en dispositivos de bajos recursos.
Materiales
- Raspberry Pi Pico o Raspberry Pi Pico 2
- Resistencia de 330 Ohms 1/4W
- LED 5mm difuso rojo
- Alambre para protoboard
- Protoboard de 400 puntos
Diagrama para conectar LED con Raspberry Pi Pico
A pesar de que nuestra tarjeta Raspberry Pi Pico tiene un LED internamente aprovecharemos la ocasión para mostrarte cómo puedes conectar un LED a los pines del microcontrolador.
El siguiente diagrama muestra cómo debe quedar la conexión al pin GP0:

Código para Parpadear LED con Raspberry Pi Pico
Parpadear LED conectado a cualquier pin GPIO
Con el siguiente código lograremos hacer que el LED que hemos conectado en el pin GP0 prenda y apague rápidamente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # GEEK FACTORY - Dale vuelo a tus proyectos # https://www.geekfactory.mx # # Ejemplo de para hacer parpadear un LED conectado al pin GP0 de Raspberry # Pi Pico. Este es un ejemplo básico de cómo manejar salidas digitales. # # importar los módulos de python necesarios para que este programa funcione import machine, time # crear un objeto a través del cual manipularemos el pin como salida pinled = machine.Pin(0, machine.Pin.OUT) # ciclo principal del programa donde alternaremos el estado del pin while True: pinled.value(1) time.sleep(0.25) pinled.value(0) time.sleep(0.25) |
Algunas placas incorporan un LED internamente que puede ser controlado por software. Para referirnos al pin donde está conectado este LED podemos cambiar un poco la línea 12 de nuestro programa:
12 | pinled = machine.Pin(0, machine.Pin.OUT) |
Cambiamos el primer parámetro (en este caso 0) por la cadena “LED”, que le indica al objeto que vamos a controlar el pin donde se encuentra conectado el LED interno de nuestra tarjeta. Esta línea queda de la siguiente forma:
12 | pinled = machine.Pin("LED", machine.Pin.OUT) |
Código para parpadear LED interno de la tarjeta
Con el siguiente código siempre haremos parpadear el LED soldado sobre la tarjeta, independientemente de si se trata de una Raspberry Pi Pico original o una Raspberry Pi Pico W, ya que esta última tiene conectado el LED a través del chip de WiFi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # GEEK FACTORY - Dale vuelo a tus proyectos # https://www.geekfactory.mx # # Ejemplo de para hacer parpadear el LED interno de nuestra tarjeta. # Este es un ejemplo básico de cómo manejar salidas digitales. # # importar los módulos de python necesarios para que este programa funcione import machine, time # crear un objeto a través del cual manipularemos el pin como salida pinled = machine.Pin("LED", machine.Pin.OUT) # ciclo principal del programa donde alternaremos el estado del pin while True: pinled.value(1) time.sleep(0.25) pinled.value(0) time.sleep(0.25) |
Explicación del código
Un objeto “pin” es usado para controlar los pines de entrada / salida de propósito general (GPIO). Los objetos se asocian con un pin físico que puede generar un voltaje alto o bajo de salida y/o puede leer el voltaje digital de entrada presente en el.
La clase Pin tiene métodos para configurar el modo de operación del pin (IN, OUT, etc.) y para obtener y configurar el nivel lógico presente en el pin.
Un objeto pin se construye usando un identificador único que identifica el pin físico sin lugar a ambiguedad. Este identificador puede ser un número entero o una cadena. Estos parámetros se proporcionan a través del constructor del objeto. Por ejemplo:
1 | pinled = machine.Pin(0, machine.Pin.OUT) |
En este caso estamos creando un objeto llamado “pinled” que se asocia al pin físico GP0 y que está configurado para funcionar como salida digital. El parámetro “machine.Pin.OUT” es una constante que indica al constructor que estamos iniciando el pin como salida digital.
Una vez que tenemos creado un objeto podemos interactuar con el a través de sus métodos. Para cambiar el estado de un pin de salida digital podemos emplear el método value(x). Donde x es el estado en el que deseamos colocar el pin. Por ejemplo:
1 2 3 4 5 | # cambiar el estado del pin a 0 pinled.value(0) # cambiar el estado del pin a 1 pinled.value(1) |
Existen métodos para cambiar el estado de un pin de salida con nombres que pueden resultar más familiares o legibles. Por ejemplo:
1 2 3 4 5 6 7 8 9 | # escribir un estado lógico alto en el pin ledpin.value(1) ledpin.on() ledpin.high() # escribir un estado lógico bajo en el pin ledpin.value(0) ledpin.off() ledpin.low() |
Enlaces y lecturas recomendadas
- Documentación de la clase Pin (enlace externo)
- Cómo conectar un LED con Arduino
- Salidas digitales de Arduino
Conclusión
- En esta página desarrollamos uno de los ejemplos más básicos en cualquier microcontrolador que consiste en parpadear un LED con Raspberry Pi Pico en el lenguaje de programación MicroPython.
- Aprendimos lo básico de la clase Pin de MicroPython para el control de salidas digitales.
- Observamos cómo configurar un pin como salida y como cambiar el estado de este.
- Aprendimos a acceder al LED que viene incluido en las tarjetas Raspberry Pi Pico.







![Resistencia 1/4 de watt 5% tolerancia [1 Ohm a 10 MOhm]](https://www.geekfactory.mx/wp-content/uploads/resistencia-1-4-de-watt-5-tolerancia-300x300.jpg.webp)



