Arduino Nano - Parpadeo de múltiples LEDs

Este tutorial te guía a través de la programación del Arduino Nano para parpadear varios LEDs simultáneamente, cada uno a su propia frecuencia, sin utilizar la función delay. Aunque usaremos tres LEDs como ejemplo, puedes ampliar fácilmente la configuración para incluir más LEDs.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
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

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

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 Arduino Nano y el código para Arduino Nano. Obtenga más información sobre ellos en el siguiente enlace:

Diagrama de Cableado

Diagrama de cableado de múltiples LEDs para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Código de Arduino Nano - Parpadeo de varios LEDs

Para hacer 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 al parpadear varios LEDs puede ser desafiante para los principiantes. Afortunadamente, la biblioteca ezLED simplifica el proceso de parpadear varios 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 Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 4 // The Arduino Nano pin connected to LED 1 #define PIN_LED_2 5 // The Arduino Nano pin connected to LED 2 #define PIN_LED_3 6 // The Arduino Nano 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

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

Código para Arduino Nano - Parpadeo de múltiples LEDs utilizando un arreglo

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

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

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!