2.1 ¡Hola, LED!

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

Componentes Necesarios

Para este proyecto, necesitamos los siguientes componentes.

Es definitivamente 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 DE COMPONENTES

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í está una lista de los 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 sobre un principio simple, y la dirección de la corriente se muestra en la figura. El LED se encenderá 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.

Cableado

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

Subir Código

  1. Puedes abrir el archivo 2.1_hello_led.ino bajo la ruta de esp32-starter-kit-main\c\codes\2.1_hello_led. O copia este código directamente en el IDE de Arduino.

  2. Luego conecta el ESP32 WROOM 32E a tu computadora usando un cable Micro USB.

  3. Selecciona la placa (ESP32 Dev Module) y el puerto apropiado.

    ../../_images/choose_board.png
  4. Ahora, haz clic en el botón Subir para cargar el código a la placa ESP32.

    ../../_images/click_upload.png
  5. Después de que el código se haya subido con éxito, verás el LED parpadeando.

¿Cómo funciona?

  1. Declara una constante entera llamada ledPin y asígnale el valor 26.

    const int ledPin = 26;  // The GPIO pin for the LED
    
  2. Ahora, inicializa el pin en la función setup(), donde necesitas inicializar el pin a modo OUTPUT.

    void setup() {
        pinMode(ledPin, OUTPUT);
    }
    
    • void pinMode(uint8_t pin, uint8_t mode);: Esta función se utiliza para definir el modo de operación GPIO para un pin específico.

      • pin define el número de pin GPIO.

      • mode establece el modo de operación.

      Los siguientes modos son compatibles para la entrada y salida básicas:

      • INPUT configura el GPIO como entrada sin pullup ni pulldown (alta impedancia).

      • OUTPUT configura el GPIO como modo de salida/lectura.

      • INPUT_PULLDOWN configura el GPIO como entrada con el pull-down interno.

      • INPUT_PULLUP configura el GPIO como entrada con el pull-up interno.

  3. La función loop() contiene la lógica principal del programa y se ejecuta continuamente. Alterna entre establecer el pin en alto y bajo, con intervalos de un segundo entre los cambios.

    void loop() {
        digitalWrite(ledPin, HIGH);   // turn the LED on (HIGH is the voltage level)
        delay(1000);                       // wait for a second
        digitalWrite(ledPin, LOW);    // turn the LED off by making the voltage LOW
        delay(1000);                       // wait for a second
    }
    
    • void digitalWrite(uint8_t pin, uint8_t val);: Esta función establece el estado del GPIO seleccionado en HIGH o LOW. Esta función solo se utiliza si el pinMode se configuró como OUTPUT.

      • pin define el número de pin GPIO.

      • val establece el estado digital de salida en HIGH o LOW.