Arduino UNO R4 - Atenuación del LED

Este tutorial te enseña cómo programar Arduino UNO R4 para desvanecer y atenuar un LED. En detalle, aprenderemos:

Arduino UNO R4 LED que se atenúa

Acerca de LED

Diagrama de pines

El LED tiene dos pines:

  • Pin de cátodo(-): debe estar conectado a GND (0V)
  • Pin de ánodo(+): se utiliza para controlar el estado del LED
Pinout del LED

Cómo funciona

Después de conectar el lado negativo (cátodo) a la tierra (GND):

  • Si conectas la masa (GND) al polo positivo (ánodo) del LED, se apaga.
  • Si conectas la fuente de alimentación (VCC) al polo positivo (ánodo) del LED, se enciende.
  • Si envías una señal de modulación por ancho de pulso (PWM) al polo positivo (ánodo) del LED, puedes cambiar el brillo. El valor PWM puede estar entre 0 y 255. Un valor PWM más alto hace que el LED brille más, y un valor PWM más bajo lo hace más tenue.
    • Si el valor PWM es 0, actúa como si estuvieras conectando a GND, por lo que el LED se apaga.
    • Si el valor PWM es 255, actúa como si estuvieras conectando a VCC, por lo que el LED está completamente encendido.
    Cómo funciona un LED

    ※ Nota:

    Para la mayoría de los LEDs, necesitas conectar una resistencia entre la terminal positiva (ánodo) y la fuente de alimentación (VCC). El valor de la resistencia varía según las especificaciones del LED.

    Arduino UNO R4 - desvanecer LED

    Podemos hacer que un LED se atenúe usando algunos de los pines del Arduino UNO R4 que pueden generar una señal PWM. Primero, conecta la patilla positiva (+) del LED a uno de los pines del Arduino UNO R4. Luego, conecta la patilla negativa (-) del LED a la masa (GND). Después, puedes configurar el pin de Arduino elegido para generar una señal PWM.

Diagrama de Cableado

Diagrama de cableado LED para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Cómo programar

  • Configura el modo del pin de un Arduino UNO R4 como salida digital utilizando la función pinMode(). Por ejemplo, para el pin 9:
pinMode(9, OUTPUT);
  • Ajusta el brillo del LED usando la función analogWrite() para crear la señal PWM adecuada.
analogWrite(9, brightness);

El brillo puede variar entre 0 y 255.

Código de Arduino UNO R4 - Ejemplo de desvanecimiento desde el IDE de Arduino

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_step; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_step = -fade_step; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Pasos R\u00e1pidos

Sigue estas instrucciones paso a paso:

  • Si es la primera vez que usa el Arduino Uno R4 WiFi/Minima, consulte el tutorial sobre configuración del entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecte el LED al Arduino Uno R4 de acuerdo con el diagrama proporcionado.
  • Conecte la placa Arduino Uno R4 a su computadora mediante un cable USB.
  • Abra el IDE de Arduino en su computadora.
  • Seleccione la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copie el código anterior y péguelo en el IDE de Arduino.
  • Haga clic en el botón Upload en el IDE de Arduino para enviar el código a Arduino UNO R4.
Subir código al IDE de Arduino
  • Mira cuán brillante es el LED.

Explicación del código

La explicación está en los comentarios del código de Arduino anterior.

※ Nota:

En el ejemplo anterior, usamos una función llamada delay() para hacer que la luz se vuelva gradualmente más brillante y luego más tenue. Sin embargo, usar delay() hace que el cambio de la luz sea menos suave y impide que otras partes del programa funcionen mientras espera. En la siguiente parte, aprenderemos cómo hacer que la luz cambie suavemente sin detener el resto del programa utilizando la función millis().

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

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

Cómo hacer que un LED se encienda gradualmente en un período sin usar delay()

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = 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 funciones

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