Arduino - Parpadeo de múltiples LEDs

Este tutorial te enseña a programar un Arduino para hacer que varios LEDs parpadeen al mismo tiempo sin usar la función delay(). El tutorial proporciona código de dos maneras:

Usaremos tres LEDs como ejemplos. Puedes modificarlo fácilmente para adaptarlo a dos LEDs, cuatro LEDs o incluso más.

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Protoboard
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
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

Tenemos un tutorial detallado sobre LEDs que incluye el esquema de pines del hardware, el principio de funcionamiento, el cableado de Arduino y las instrucciones de código. Aprende más aquí:

Diagrama de Cableado

Diagrama de cableado de múltiples LEDs

This image is created using Fritzing. Click to enlarge image

Código de Arduino - Parpadeo de múltiples LEDs

Para parpadear varios LEDs simultáneamente, no podemos depender de la función delay(). Esto se debe a que usar delay() bloquea la ejecución de otros códigos, impidiendo que parpadeemos varios LEDs al mismo tiempo. En su lugar, utilizamos la función millis() para gestionar las marcas de tiempo de manera efectiva.

Para principiantes, gestionar las marcas de tiempo al parpadear múltiples LEDs puede ser un desafío. Afortunadamente, la ezLED library facilita este proceso al encargarse internamente de la gestión de las marcas de tiempo. Esto elimina la carga de gestionar las marcas de tiempo por parte de los usuarios al utilizar la biblioteca. Además, emplear una matriz de LEDs puede mejorar la claridad y la concisión del código.

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define PIN_LED_1 7 // The Arduino pin connected to LED 1 #define PIN_LED_2 8 // The Arduino pin connected to LED 2 #define PIN_LED_3 9 // The Arduino 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(800, 200); // 800ms 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

  • Realiza el cableado como en la imagen anterior.
  • Conecta la placa Arduino a tu PC mediante un cable USB.
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa de Arduino correcta (p. ej. Arduino Uno) y el puerto COM.
  • 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 de LEDs para Arduino
  • Copie el código anterior y péguelo en el IDE de Arduino.
  • Compile y cargue el código en la placa Arduino haciendo clic en el botón Subir en el IDE de Arduino.
Cómo subir código de Arduino al IDE de Arduino
  • Ver el estado del LED

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

Podemos mejorar el código anterior empleando una matriz de LEDs. El código siguiente utiliza esta matriz para manejar objetos LED.

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define NUM_LED 3 // three LEDs #define PIN_LED_1 7 // The Arduino pin connected to LED 1 #define PIN_LED_2 8 // The Arduino pin connected to LED 2 #define PIN_LED_3 9 // The Arduino 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(800, 200); // 800ms 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 }

Al usar la biblioteca ezLED, podemos hacer parpadear múltiples LEDs de forma flexible de la siguiente manera:

  • Parpadear varios LEDs con frecuencias diferentes
  • Parpadear varios LEDs con diferentes tiempos de inicio
  • Parpadear cada LED durante un periodo de tiempo
  • Parpadear cada LED un número de ciclos

Consulte el código de ejemplo en la biblioteca.

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!