Una guía para principiantes de MicroPython con Raspberry Pi Pico

Una guía para principiantes de MicroPython con Raspberry Pi Pico

Raspberry Pi Pico es el miembro más nuevo de la familia Raspberry Pi. Antes de esto, la línea de productos Raspberry Pi eran computadoras de placa única capaces de ejecutar un sistema operativo.

Basado en el nuevo chip RP2040, Raspberry Pi Pico es compatible con MicroPython y C / C ++. Con Raspberry Pi Pico, los principiantes y entusiastas pueden controlar el hardware y los dispositivos conectados. Los pines GPIO de Raspberry Pi Pico se pueden usar para atenuar luces, leer el estado de los interruptores y mucho más.

¿Qué es MicroPython?

La programación en microcontroladores se realizó principalmente en lenguaje C, como se ve en las placas de desarrollo Arduino . Luego, en 2014, se publicó un nuevo lenguaje de programación para microcontroladores, MicroPython. MicroPython le permite escribir código Python en el metal desnudo de un microcontrolador. Esto significa que puede escribir código Python sin un sistema operativo.

Python es un lenguaje de programación de alto nivel para principiantes que permite a los usuarios concentrarse en aprender conceptos de programación. Esto es muy parecido con MicroPython.

Usando un LED

Para controlar el hardware, el Pico habla con la serie de pines a lo largo de ambos bordes. Estos se denominan pines de salida de entrada de propósito general (GPIO) y el LED integrado se puede encontrar en GPIO 25. Para controlarlo, primero importe las bibliotecas necesarias:

import machine

import utime

Luego llame a la función Pin usando la biblioteca de la máquina para manejar el pin GPIO del Pin, en este caso estamos configurando el Pin en GPIO 25, por lo que es el primer parámetro. El segundo parámetro lo establece como un pin de salida en lugar de un pin de entrada, al hacerlo, el pin sabe lo que debería estar haciendo:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Para continuar, en el siguiente código, le estamos diciendo al Pico que luego establezca su valor de pin en GPIO 25 a 1, o 'encendido'.

while True: onboard_led.value(1)

Sin embargo, es posible que se dé cuenta de que no parece suceder nada. Esto se debe a que el Pico funciona muy rápido, por lo que el LED se enciende más rápido de lo que puede percibir con el ojo. Para solucionar esto, necesitamos ralentizar el programa usando el comando sleep de la biblioteca utime . El código completo donde el LED se encenderá y apagará se puede ver a continuación:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Activar y desactivar los LED

Alternativamente, hay otra forma de encender y apagar los LED, con el comando de alternancia :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

En el ejemplo, el comando de alternancia reemplaza la necesidad de establecer el valor del LED en 1 y luego en 0. Seguirá encendido durante 5 segundos y luego se apagará durante otros cinco, siempre que el programa esté en ejecución.

Creando funciones

Una guía para principiantes de MicroPython con Raspberry Pi Pico

A medida que los programas se vuelven más complejos, es útil agrupar fragmentos de código para mantener la coherencia. Para hacerlo, MicroPython como Python permite el uso de funciones. Las funciones son un grupo de declaraciones relacionadas que realizan una tarea específica. Por ejemplo, en el siguiente código, se define una función llamada printNames :

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

La última línea del código llama a la función para que realmente se ejecute.

Bucles

Una guía para principiantes de MicroPython con Raspberry Pi Pico

La lógica condicional realiza diferentes acciones dependiendo de si una restricción booleana se evalúa como verdadera o falsa. Muchos proyectos de Raspberry Pi Pico se basan en estas declaraciones lógicas. En el siguiente ejemplo, se usa una instrucción if-else para determinar si se ejecutará una instrucción de impresión :

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

En el siguiente ejemplo, el bucle for se usa con la función de rango . Estos bucles se pueden utilizar para repetir un bloque de código varias veces.

Una guía para principiantes de MicroPython con Raspberry Pi Pico

Para este ejemplo, el comando de impresión se ejecutará cinco veces con un retraso de cinco segundos entre cada uno de ellos con el comando de suspensión :

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Convertidor analógico a digital (ADC)

Aunque no podrá verlo, la Raspberry Pi Pico tiene un convertidor interno de analógico a digital. En el siguiente ejemplo, un potenciómetro está conectado a la Raspberry Pi Pico en GPIO 26, que es capaz de la funcionalidad ADC:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Aquí, antes de que podamos usar este pin compatible con ADC, debe configurarse con la función ADC. Luego, mientras se ejecuta el programa, el valor del potenciómetro se imprimirá cada segundo. Otros pines en la Raspberry Pi Pico que son compatibles con ADC incluyen GPIO27, 28 y 29.

Modulación de ancho de pulso (Pwm)

La salida digital de un microcontrolador solo puede ser 1 o 0. Para crear una señal analógica, necesitaría un convertidor de digital a analógico. Sin embargo, otra forma es crear artificialmente una señal analógica, utilizando modulación de ancho de pulso o PWM para abreviar.

Al encender y apagar una señal digital, esto se conoce como pulso. Modulando el ancho de un pulso, esto crea artificialmente una señal analógica como se ve en el siguiente ejemplo:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Primero, se importaron las bibliotecas de máquina y utime . Se crea un objeto, onboard_led con una salida PWM activada en el pin 21 de GPIO. Luego, usando el comando freq , esto establece la frecuencia para modular el ancho del pulso. Imagínese girando el potenciómetro, el LED se volverá más brillante cuando lo gire en una dirección.

Esto sucede porque el valor analógico del potenciómetro se usa como valor para el ciclo de trabajo de la señal PWM, es un valor entre 0 y 65535. Sin embargo, sin conversión, girar ligeramente el potenciómetro ya puede hacer que el LED alcance su nivel máximo de brillo. .

Para solucionar esto, de modo que el potenciómetro solo alcance el brillo completo cuando se gira hasta el final, el valor se convierte con la función duty_u16 . Esta función lo convierte en un entero de 16 bits, que es un valor entre 0 y 1024, que es el mismo rango de valores que recibiría del pin analógico del Pico.

Crea más con Raspberry Pi Pico

Este artículo ha cubierto los comandos básicos en MicroPython en Raspberry Pi Pico. Para obtener más información, consulte la documentación oficial sobre la programación de MicroPython con Raspberry Pi Pico .

Si aún no está configurado en su Raspberry Pi Pico, obtenga Thonny IDE para ejecutar su código MicroPython o, alternativamente, consulte el emulador de CPU Unicorn para ejecutar un microcontrolador virtual directamente en su computadora.


Las 10 mejores ideas de luces de bricolaje para transformar su dormitorio

Las 10 mejores ideas de luces de bricolaje para transformar su dormitorio

La iluminación es el pegamento que mantiene unida tu decoración. Acentúa las características atractivas de su habitación, convirtiéndola en un oasis cálido y acogedor al que le encantará ir todas las noches. ¿La mejor parte? Ni siquiera tienes que romper el banco porque hay algunas ideas de bricolaje fenomenales para iluminar tu dormitorio. Aquí está nuestro top 10:

Diseño e impresión en 3D de sus propias miniaturas de mesa con una impresora FDM

Diseño e impresión en 3D de sus propias miniaturas de mesa con una impresora FDM

Los juegos de mesa como D&D y Warhammer brindan una excelente manera de disfrutar del entretenimiento interactivo sin necesidad de una computadora o consola.

Cómo instalar una cámara para salpicadero en su automóvil

Cómo instalar una cámara para salpicadero en su automóvil

Si tiene una cámara para salpicadero, instalarla puede parecer un poco complicado. En algunos casos, no es tan simple como le gustaría, pero la instalación de una cámara para salpicadero en su automóvil vale cada minuto que le dedica.

Los 6 mejores lugares para buscar modelos de impresión 3D

Los 6 mejores lugares para buscar modelos de impresión 3D

A medida que expiraron las patentes de impresión 3D, la industria explotó en el hogar.

Cómo recuperar datos de un disco duro externo

Cómo recuperar datos de un disco duro externo

Los discos duros externos se han vuelto cada vez más populares debido a su velocidad, costo y conveniencia. Sin embargo, al igual que los discos duros normales, están sujetos a los mismos riesgos de pérdida de datos, ya sea mecánica o inducida por software.

10 antenas wifi de largo alcance que puedes hacer en casa

10 antenas wifi de largo alcance que puedes hacer en casa

Si bien las antenas Wi-Fi modernas le permiten utilizar las velocidades más rápidas dentro del paquete de su ISP, pueden ser bastante caras. Afortunadamente, siempre puede recurrir a proyectos de bricolaje para mejorar su señal de conexión sin gastar demasiado dinero.

Cómo construir una torre de dados de bricolaje para juegos de mesa

Cómo construir una torre de dados de bricolaje para juegos de mesa

Se cree que los dados existen desde hace miles de años. En este tiempo, sin embargo, se ha hecho muy poco para avanzar o innovar en esta tecnología. Si bien los materiales han cambiado y los métodos para hacer dados también han avanzado, todavía estás atascado tirando los dados a mano como una especie de cavernícola.

Los 10 mejores proyectos de hogares inteligentes ESP32

Los 10 mejores proyectos de hogares inteligentes ESP32

Una casa inteligente es aquella en la que los electrodomésticos y dispositivos se pueden controlar de forma remota desde cualquier teléfono o computadora con conexión a Internet. Por lo general, se basa en dispositivos conectados de forma inalámbrica creados con microcontroladores, como un Arduino o una placa ESP32.

Aquí está cómo overclockear la RAM de la PC: ¿pero debería hacerlo?

Aquí está cómo overclockear la RAM de la PC: ¿pero debería hacerlo?

Obtener RAM para su PC es una necesidad. Aunque, si no lo ejecuta a su máxima capacidad, está perdiendo mucho. Cada programa almacena datos en la RAM durante un tiempo para una accesibilidad más rápida. Con una RAM overclockeada, puede aumentar el rendimiento de su PC.

11 alternativas a la Raspberry Pi Pico

11 alternativas a la Raspberry Pi Pico

El lanzamiento de Raspberry Pi Pico fue emocionante. La Raspberry Pi Foundation no solo se estaba moviendo finalmente hacia el mercado de microcontroladores para pasatiempos anteriormente dominado por Arduino, sino que también lo estaba haciendo con su propio silicio.

Las 10 mejores ideas de luces de bricolaje para transformar su dormitorio

Las 10 mejores ideas de luces de bricolaje para transformar su dormitorio

La iluminación es el pegamento que mantiene unida tu decoración. Acentúa las características atractivas de su habitación, convirtiéndola en un oasis cálido y acogedor al que le encantará ir todas las noches. ¿La mejor parte? Ni siquiera tienes que romper el banco porque hay algunas ideas de bricolaje fenomenales para iluminar tu dormitorio. Aquí está nuestro top 10:

Diseño e impresión en 3D de sus propias miniaturas de mesa con una impresora FDM

Diseño e impresión en 3D de sus propias miniaturas de mesa con una impresora FDM

Los juegos de mesa como D&D y Warhammer brindan una excelente manera de disfrutar del entretenimiento interactivo sin necesidad de una computadora o consola.

Cómo instalar una cámara para salpicadero en su automóvil

Cómo instalar una cámara para salpicadero en su automóvil

Si tiene una cámara para salpicadero, instalarla puede parecer un poco complicado. En algunos casos, no es tan simple como le gustaría, pero la instalación de una cámara para salpicadero en su automóvil vale cada minuto que le dedica.

Los 6 mejores lugares para buscar modelos de impresión 3D

Los 6 mejores lugares para buscar modelos de impresión 3D

A medida que expiraron las patentes de impresión 3D, la industria explotó en el hogar.

Cómo recuperar datos de un disco duro externo

Cómo recuperar datos de un disco duro externo

Los discos duros externos se han vuelto cada vez más populares debido a su velocidad, costo y conveniencia. Sin embargo, al igual que los discos duros normales, están sujetos a los mismos riesgos de pérdida de datos, ya sea mecánica o inducida por software.

10 antenas wifi de largo alcance que puedes hacer en casa

10 antenas wifi de largo alcance que puedes hacer en casa

Si bien las antenas Wi-Fi modernas le permiten utilizar las velocidades más rápidas dentro del paquete de su ISP, pueden ser bastante caras. Afortunadamente, siempre puede recurrir a proyectos de bricolaje para mejorar su señal de conexión sin gastar demasiado dinero.

Una guía para principiantes de MicroPython con Raspberry Pi Pico

Una guía para principiantes de MicroPython con Raspberry Pi Pico

Raspberry Pi Pico es el miembro más nuevo de la familia Raspberry Pi. Antes de esto, la línea de productos Raspberry Pi eran computadoras de placa única capaces de ejecutar un sistema operativo.

Cómo construir una torre de dados de bricolaje para juegos de mesa

Cómo construir una torre de dados de bricolaje para juegos de mesa

Se cree que los dados existen desde hace miles de años. En este tiempo, sin embargo, se ha hecho muy poco para avanzar o innovar en esta tecnología. Si bien los materiales han cambiado y los métodos para hacer dados también han avanzado, todavía estás atascado tirando los dados a mano como una especie de cavernícola.

Los 10 mejores proyectos de hogares inteligentes ESP32

Los 10 mejores proyectos de hogares inteligentes ESP32

Una casa inteligente es aquella en la que los electrodomésticos y dispositivos se pueden controlar de forma remota desde cualquier teléfono o computadora con conexión a Internet. Por lo general, se basa en dispositivos conectados de forma inalámbrica creados con microcontroladores, como un Arduino o una placa ESP32.

Aquí está cómo overclockear la RAM de la PC: ¿pero debería hacerlo?

Aquí está cómo overclockear la RAM de la PC: ¿pero debería hacerlo?

Obtener RAM para su PC es una necesidad. Aunque, si no lo ejecuta a su máxima capacidad, está perdiendo mucho. Cada programa almacena datos en la RAM durante un tiempo para una accesibilidad más rápida. Con una RAM overclockeada, puede aumentar el rendimiento de su PC.