2.1 ¡Hola, LED!

Así como imprimir «¡Hola, mundo!» es el primer paso para aprender a programar, usar un programa para controlar un LED es la introducción tradicional para aprender la programación física.

Componentes Requeridos

Para este proyecto, necesitamos los siguientes componentes.

Definitivamente es conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

Kit de Inicio ESP32

320+

ESP32 Starter Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

ESP32 WROOM 32E

BUY

Extensión de Cámara ESP32

-

Protoboard

BUY

Cables Puente

BUY

Resistor

BUY

LED

BUY

Pines Disponibles

Aquí hay una lista de pines disponibles en la placa ESP32 para este proyecto.

Pines Disponibles

IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23

Esquemático

../../_images/circuit_2.1_led.png

Este circuito funciona bajo un principio simple, y la dirección de la corriente se muestra en la figura. El LED se iluminará después de la resistencia limitadora de corriente de 220ohm cuando el pin26 emita un nivel alto. El LED se apagará cuando el pin26 emita un nivel bajo.

Conexión

../../_images/2.1_hello_led_bb.png

Ejecutar el Código

  1. Abre el archivo 2.1_hello_led.py ubicado en la ruta esp32-starter-kit-main\micropython\codes o copia y pega el código en Thonny.

    # Import the necessary libraries
    import machine
    import time
    
    # Set up the LED on pin 26 as an output pin
    led = machine.Pin(26, machine.Pin.OUT)
    
    # Start an infinite loop
    while True:
        # Turn on the LED by setting its value to 1 (HIGH)
        led.value(1)
        # Wait for 1 second (1000 milliseconds) while the LED is on
        time.sleep(1)
    
        # Turn off the LED by setting its value to 0 (LOW)
        led.value(0)
        # Wait for 0.5 seconds (500 milliseconds) while the LED is off
        time.sleep(0.5)
    
  2. Conecta el ESP32 WROOM 32E a tu computadora usando un cable Micro USB.

    ../../_images/plugin_esp32.png
  3. Luego haz clic en el intérprete «MicroPython (ESP32).COMXX» en la esquina inferior derecha.

    ../../_images/sec_inter.png
  4. Finalmente, haz clic en «Ejecutar script actual» o presiona F5 para ejecutarlo.

    ../../_images/quick_guide2.png
  5. Después de ejecutar el código, verás el LED parpadeando.

¿Cómo funciona?

  1. Importa dos módulos, machine y time. El módulo machine proporciona acceso a bajo nivel al hardware del microcontrolador, mientras que el módulo time ofrece funciones para operaciones relacionadas con el tiempo.

    import machine
    import time
    
  2. Luego configura el pin26 como un pin de salida usando la función machine.Pin() con el argumento machine.Pin.OUT.

    led = machine.Pin(26, machine.Pin.OUT)
    
  3. En el bucle While True, el LED se enciende durante un segundo estableciendo el valor del pin26 en 1 usando led.value(1) y luego se establece en 0 (led.value(0)) para apagarlo durante un segundo, y así sucesivamente en un bucle infinito.

    while True:
        # Turn on the LED by setting its value to 1 (HIGH)
        led.value(1)
        # Wait for 1 second (1000 milliseconds) while the LED is on
        time.sleep(1)
    
        # Turn off the LED by setting its value to 0 (LOW)
        led.value(0)
        # Wait for 0.5 seconds (500 milliseconds) while the LED is off
        time.sleep(0.5)
    

Aprende Más

En este proyecto, utilizamos los módulos machine y time de MicroPython, podemos encontrar más formas de usarlos aquí.