En este tutorial vamos a ver qué son los módulos en MicroPython, cómo funcionan, cómo crearlos y cómo usarlos para organizar nuestro código.
Básicamente un módulo es es un archivo que contiene código Python (en nuestro caso MicroPython) y que puede ser importado para usar este código en otro punto del programa.
Los módulos nos permiten organizar el código en archivos separados, lo que favorece la reutilización, el mantenimiento, y que todo quede más limpito 😊.
Si quieres aprender más consulta,
Cómo usar módulos
Creación de un módulo
Crear un módulo en MicroPython es muy sencillo. Simeplemente guardamos nuestro código en un archivo con extensión .py
que contenga funciones o variables.
Por ejemplo, si queremos hacer un conjunto de funciones relacionadas con matemáticas, podemos colocarlas en un módulo llamado matematicas.py
# matematicas.py
def sumar(a, b):
return a + b
def restar(a, b):
return a - b
Importación de un módulo
Para utilizar las funciones de un módulo en otro archivo, y tenemos que importarlo en el programa que lo necesite. Para ello usamos la palabra clave import
:
import matematicas
resultado_suma = matematicas.sumar(10, 5)
resultado_resta = matematicas.restar(10, 5)
print(resultado_suma) # Salida: 15
print(resultado_resta) # Salida: 5
También podemos importar funciones específicas de un módulo:
from matematicas import sumar
resultado = sumar(7, 3)
print(resultado) # Salida: 10
Módulos estándar de MicroPython
MicroPython incluye una serie de módulos incorporados diseñados específicamente para trabajar con hardware. Algunos de los más importantes son:
Módulo | Descripción |
---|---|
machine | Permite el control del hardware, como pines GPIO, I2C, SPI y PWM. |
time | Proporciona funciones para gestionar el tiempo y retardos en la ejecución. |
utime | Similar a time , pero optimizado para MicroPython. |
sys | Ofrece información sobre el sistema y la ejecución del script. |
os | Permite interactuar con el sistema de archivos. |
gc | Proporciona control sobre el recolector de basura. |
network | Permite la gestión de conexiones de red, como WiFi y sockets. |
ujson | Maneja la codificación y decodificación de datos en formato JSON. |
ure | Proporciona expresiones regulares en MicroPython. |
ustruct | Permite manipular datos binarios de forma eficiente. |
ubinascii | Ofrece funciones para conversión entre datos binarios y ASCII (Base64, hex, etc.). |
random | Generación de números pseudoaleatorios. |
math | Funciones matemáticas como senos, cosenos, raíz cuadrada, etc. |
builtins | Contiene funciones y excepciones integradas de Python. |
Para usarlos, simplemente haríamos un import
y ya tenemos disponibles las funcionalidades disponibles en nuestro código.
import machine
led = machine.Pin(2, machine.Pin.OUT) # Configura el pin 2 como salida
led.value(1) # Enciende el LED
Puedes listar los módulos que tienes disponibles en tu placa ejecutando
help("modules")
Módulos de terceros
En ocasiones necesitaremos instalar módulos desarrollados por la comunidad. Es decir, lo que normalmente llamamos “bibliotecas” (que en MicroPython serán módulos).
En el próximo tutorial veremos como podemos descargar y usar bibliotecas desarrolladas por terceros en nuestros proyectos.