En este artículo exploraremos cómo utilizar las entradas y salidas digitales de los microcontroladores ESP32/ESP8266 con el lenguaje de programación MicroPython. Aprenderemos cómo leer y escribir en pines digitales para controlar dispositivos y sensores, todo de una manera sencilla y eficiente. ¡No te pierdas esta guía completa para sacarle el máximo provecho a tus placas ESP!
Este tutorial muestra cómo controlar los GPIO de ESP32 y ESP8266 como entradas y salidas digitales utilizando el firmware MicroPython. Como ejemplo, aprenderá a leer el valor de un botón y a encender un LED en consecuencia.
requisitos
Para seguir este tutorial, debe tener instalado el firmware MicroPython en sus placas ESP32 o ESP8266. También necesitarás un IDE para escribir el código y subirlo a tu placa. Recomendamos utilizar Thonny IDE o uPyCraft IDE:
- IDE de Thonny:
- Instalación y primeros pasos con Thonny IDE
- Actualización del firmware MicroPython con esptool.py
- IDE de UpyCraft:
- Instale uPyCraft IDE (Windows, Mac OS X, Linux)
- Flashear/cargar firmware MicroPython a ESP32 y ESP8266
Si es la primera vez que utiliza MicroPython, le recomendamos seguir esta guía: Comenzando con MicroPython en ESP32 y ESP8266
Descripción del proyecto
Para mostrarle cómo usar entradas y salidas digitales, creemos un proyecto de ejemplo simple con un botón pulsador y un LED. Leemos el estado del pulsador y encendemos el LED en consecuencia, como se muestra en la siguiente figura.
Entradas digitales
Para obtener el valor de un GPIO, primero debes tener uno Bolígrafo objeto y configúrelo como entrada. Ejemplo:
button = Pin(4, Pin.IN)
Para obtener el valor entonces tienes que hacer lo Valor() método en el Bolígrafo Objeto sin pasar un argumento. Por ejemplo, para comprobar el estado de un Bolígrafo Objeto nombrado botónutiliza la siguiente expresión:
button.value()
Le mostraremos cómo funciona todo en detalle en el ejemplo del proyecto.
Salidas digitales
Para activar o desactivar un GPIO, primero debe configurarlo como salida. Ejemplo:
led = Pin(5, Pin.OUT)
Para controlar el GPIO utilice el Valor() método en el Bolígrafo Objeto y pasaporte 1 o 0 como argumento. Por ejemplo, el siguiente comando establece uno Bolígrafo objeto (CONDUJO) demasiado alto:
led.value(1)
Para configurar GPIO en BAJO, ingrese 0 como argumento:
led.value(0)
Esquema
Antes de continuar, debe ensamblar un circuito con un LED y un pulsador. Conectamos el LED a GPIO5 y el pulsador para GPIO4.
Piezas requeridas
Aquí hay una lista de las piezas que necesitará para construir el circuito:
- ESP32 o ESP8266 (leer: ESP32 frente a ESP8266)
- LED de 5 mm
- Resistencia de 330 ohmios
- Presionar el botón
- resistencia de 10k ohmios
- tablero de circuitos
- Cables de puente
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Diagrama de cableado – ESP32
Siga el siguiente diagrama esquemático si está utilizando una placa ESP32:
Diagrama de circuito – ESP8266
Siga el siguiente esquema si está utilizando una placa ESP8266:
Para el ESP8266, el pin marcado D1 corresponde GPIO5 y el pin marcado D2 corresponde GPIO4.
guion
El siguiente código lee el estado del botón y enciende el LED en consecuencia. El código funciona tanto para placas ESP32 como para ESP8266.
# Complete project details at https://RandomNerdTutorials.com/micropython-programming-with-esp32-and-esp8266/
from machine import Pin
from time import sleep
led = Pin(5, Pin.OUT)
button = Pin(4, Pin.IN)
while True:
led.value(button.value())
sleep(0.1)
Cómo funciona el código
Primero importas el Bolígrafo clase de la máquina módulo y que dormir clase de la Tiempo Módulo.
from machine import Pin
from time import sleep
Luego crea uno Bolígrafo Objeto nombrado CONDUJO En GPIO5. Los LED son salidas, por lo que se pasan como segundo argumento. Pin.OUT.
led = Pin(5, Pin.OUT)
También creamos un objeto llamado botón En GPIO4. Los botones son entradas, así que úsalos. Enchufar.
button = Pin(4, Pin.IN)
Usar botón.valor() para regresar/leer el estado del botón. Entonces entrégalo botón.valor() Expresión como argumento para el valor del LED.
led.value(button.value())
Entonces, si presionamos el botón, botón.valor() devoluciones 1Entonces esto es lo mismo que valor.led(1). Esto encenderá el estado del LED 1el LED se enciende. Si no se presiona el botón, botón.valor() devoluciones 0. entonces tenemos valor.led(0)y el LED permanece apagado.
demostración
Guarde el código en su placa ESP usando Thonny IDE o uPyCraft IDE. Luego, el LED debería encenderse cuando presione el botón y permanecer apagado cuando lo suelte.
Envolver
Para leer el valor de un GPIO solo necesitamos usar el Valor() método en el correspondiente Bolígrafo Objeto. Para establecer el valor de un GPIO solo necesitamos pasarlo como argumento 1 o 0 Para el Valor() Método para encenderlo o apagarlo.
Esperamos que este tutorial te haya resultado útil. Si recién está comenzando con MicroPython, es posible que también le interesen los siguientes recursos:
- [eBook] Programación MicroPython con EPS32/ESP8266
- GPIO ESP32/ESP8266 explicados con MicroPython
- ESP32/ESP8266 Valores medidos analógicos con MicroPython
- ESP32/ESP8266 PWM con MicroPython – Atenuación de LED
- Servidor web ESP32/ESP8266 MicroPython: salidas de control
Gracias por leer.
Preguntas Frecuentes
¿Qué se necesita para seguir este tutorial?
Para seguir este tutorial necesitas tener instalado el firmware de MicroPython en tus placas ESP32 o ESP8266. También necesitas un IDE para escribir y cargar el código en tu placa. Sugerimos utilizar el IDE Thonny o el IDE uPyCraft.
- IDE Thonny: Instrucciones para instalar y comenzar con Thonny IDE
- IDE uPyCraft: Instrucciones para instalar uPyCraft IDE en Windows, Mac OS X y Linux
Si es la primera vez que trabajas con MicroPython, te recomendamos seguir esta guía: Cómo empezar con MicroPython en ESP32 y ESP8266
¿Cómo funcionan las entradas y salidas digitales en ESP32/ESP8266 con MicroPython?
En este tutorial aprenderás a controlar los GPIOs del ESP32 y ESP8266 como entradas digitales y salidas digitales utilizando el firmware de MicroPython. Se muestra un ejemplo práctico en el cual se lee el valor de un botón pulsador y se enciende un LED según corresponda.
¿Cómo se conectan los componentes en el circuito?
Para este proyecto necesitaremos un LED y un botón pulsador. El LED se conecta al GPIO 5 y el botón pulsador al GPIO 4 de la placa.
¿Qué se necesita para armar el circuito?
Los componentes necesarios para armar el circuito son:
- ESP32 o ESP8266
- LED de 5 mm
- Resistor de 330 Ohm
- Botón pulsador
- Resistor de 10k Ohm
- Protoboard
- Cables jumper
Puedes encontrar todos los componentes necesarios en MakerAdvisor.com/tools al mejor precio.
¿Cómo funciona el código?
El código crea un objeto Pin para el LED en el GPIO 5 y otro objeto Pin para el botón en el GPIO 4. Utilizando la función value() se lee el estado del botón y se enciende el LED acorde a este estado.
Para más información detallada y el código completo, visita Proyecto completo en RandomNerdTutorials.com
¿Hay recursos adicionales para aprender más sobre MicroPython?
Si estás comenzando con MicroPython, te recomendamos estos recursos adicionales:
- eBook de MicroPython Programming con ESP32/ESP8266
- Explicación de GPIOs en ESP32/ESP8266 con MicroPython
- Lecturas analógicas en ESP32/ESP8266 con MicroPython
- Control de PWM en ESP32/ESP8266 con MicroPython
- Servidor web en ESP32/ESP8266 con MicroPython
Gracias por leer.
¡Interesante tutorial! Me gusta cómo explicas de forma clara y sencilla cómo trabajar con las entradas y salidas digitales en los ESP32/ESP8266 usando MicroPython. ¡Gracias por compartir!