ESP8266 - Parpadeo de múltiples LEDs

Este tutorial te enseña cómo programar el ESP8266 para hacer parpadear varios LEDs simultáneamente, cada uno a una frecuencia de parpadeo diferente, sin depender de la función delay. Usaremos tres LEDs como ejemplo, pero puedes ajustar el código para manejar más LEDs fácilmente.

Hardware Requerido

1×ESP8266 NodeMCU
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 ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

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 del LED

Tenemos un tutorial específico sobre LEDs. El tutorial contiene información detallada e instrucciones paso a paso sobre la disposición de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP8266 y el código para ESP8266. Obtén más información sobre ellos en el siguiente enlace:

Diagrama de Cableado

Diagrama de cableado de múltiples LEDs para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

ESP8266 Código - Parpadeo de varios LEDs

Para parpadear varios LEDs, no podemos usar la función delay(). En su lugar, necesitamos usar la función millis() y gestionar las marcas de tiempo.

Gestionar las marcas de tiempo mientras se parpadean múltiples LEDs puede ser desafiante para los principiantes. Afortunadamente, la biblioteca ezLED simplifica el proceso de parpadear múltiples LEDs al gestionar internamente las marcas de tiempo. Esto elimina la necesidad de que los usuarios manejen la gestión de marcas de tiempo al utilizar esta biblioteca. Además, puedes mejorar la claridad y la brevedad del código empleando un arreglo de LEDs.

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 D5 // The ESP8266 pin connected to LED 1 #define PIN_LED_2 D6 // The ESP8266 pin connected to LED 2 #define PIN_LED_3 D7 // The ESP8266 pin connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led2.blink(200, 800); // 200ms ON, 800ms OFF, blink immediately led3.blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes según el diagrama proporcionado.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Inicia el IDE de Arduino en tu ordenador.
  • Selecciona la placa ESP8266) y su puerto COM correspondiente.
  • Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “ezLED”, luego encuentra la biblioteca ezLED de ArduinoGetStarted.
  • Haz clic en el botón Instalar para instalar la biblioteca ezLED.
Biblioteca LED para ESP8266 NodeMCU
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y sube el código a la placa ESP8266 haciendo clic en el botón Subir del IDE de Arduino.
Cómo subir código ESP8266 NodeMCU al IDE de Arduino
  • Consulta el estado del LED

Código ESP8266 - Parpadeo de múltiples LEDs usando un arreglo

Podemos optimizar el código anterior utilizando un arreglo de LEDs. El código siguiente utiliza el arreglo para gestionar objetos LED.

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 D5 // The ESP8266 pin connected to LED 1 #define PIN_LED_2 D6 // The ESP8266 pin connected to LED 2 #define PIN_LED_3 D7 // The ESP8266 pin connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[1].blink(200, 800); // 200ms ON, 800ms OFF, blink immediately ledArray[2].blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

Para el parpadeo flexible, por favor consulte otras funciones de la biblioteca ezLED (https://arduinogetstarted.com/tutorials/arduino-led-library)

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.

※ 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!