Arduino Nano ESP32 - LED - Desvanecimiento

Este tutorial proporciona instrucciones sobre cómo usar:

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.

Acerca de LED

Pinout del LED

El LED incluye dos pines:

  • Pin cátodo(-): conecte este pin a GND (0V)
  • Pin ánodo(+): se utiliza para controlar el estado del LED
Pinout del LED

Cómo funciona un LED

Después de conectar el cátodo (-) a tierra:

  • Si conectamos GND al ánodo(+), el LED está APAGADO.
  • Si conectamos VCC al ánodo(+), el LED está ENCENDIDO.
  • Si generamos una señal PWM en el pin del ánodo(+), el brillo del LED es proporcional al ciclo de trabajo de PWM. El ciclo de trabajo de PWM varía de 0 a 255. Cuanto mayor sea el ciclo de trabajo de PWM, más brillante será el LED.
    • Si el valor PWM es 0, equivale a GND ⇒ el LED está APAGADO.
    • Si el valor PWM es 255, equivale a VCC ⇒ el LED está ENCENDIDO al brillo máximo.
    Cómo funciona un LED

    ※ Nota:

    Por lo general, se necesita una resistencia para proteger el LED de que se queme. El valor de la resistencia depende de la especificación del LED.

    Arduino Nano ESP32 - desvanecimiento del LED

    Los pines de salida digitales del ESP32 pueden programarse para generar una señal PWM. Conectar el pin ánodo (+) del LED al pin del Arduino Nano ESP32, el cátodo (−) del LED a GND, y luego programar el Arduino Nano ESP32 para cambiar el ciclo de trabajo de la PWM; así podemos atenuar el LED.

Diagrama de cableado entre LED y Arduino Nano ESP32

Diagrama de cableado de LED para Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Cómo programar

  • Configurar un pin de un Arduino Nano ESP32 como pin de salida digital utilizando la función pinMode(). Por ejemplo, el pin D5:
pinMode(D5, OUTPUT);
  • Ajustar el brillo del LED generando una señal PWM con el ciclo de trabajo correspondiente mediante la función analogWrite():
analogWrite(D5, brightness);

Donde el brillo es un valor de 0 a 255.

Código para Arduino Nano ESP32 - Ejemplo de desvanecimiento simple

Pasos R\u00e1pidos

Para empezar con Arduino Nano ESP32, siga estos pasos:

  • Si eres nuevo en Arduino Nano ESP32, consulta el tutorial sobre cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Nano ESP32 a tu computadora utilizando un cable USB.
  • Inicia el IDE de Arduino en tu computadora.
  • Selecciona la Arduino Nano ESP32 placa y su puerto COM correspondiente.
  • Copia el código de abajo y pégalo en el IDE de Arduino.
/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED int brightness = 0; // how bright the LED is int fade_amount = 5; // how many points to fade the LED by // The setup function runs once on reset or power-up void setup() { // configure the Arduino Nano ESP32 pin as an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. void loop() { // set the brightness analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_amount; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_amount = -fade_amount; } // wait for 30 milliseconds to see the dimming effect delay(30); }
  • Compila y sube el código a la placa Arduino Nano ESP32 haciendo clic en el botón Subir en el IDE de Arduino
Subir código al IDE de Arduino
  • Ver el brillo del LED

Traduce el contenido siguiente del inglés al español, devuelve solo el resultado:

Explicación línea por línea del código

El código anterior de Arduino Nano ESP32 contiene una explicación línea por línea. ¡Por favor lea los comentarios del código!

※ Nota:

El ejemplo anterior utiliza la función [delay()] para hacer un desvanecimiento de entrada y salida. La función [delay()] hace que el LED se desvanezca de forma irregular y bloquee el resto del código. En las próximas partes, aprenderemos cómo realizar un desvanecimiento de entrada y salida suave sin bloquear el resto del código utilizando la función [millis()].

Cómo hacer que un LED se ilumine gradualmente durante un periodo sin usar delay()

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

Cómo atenuar un LED en un período sin usar delay()

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-out in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = 255 - map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de idioma

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!