Arduino Nano - LED - Desvanecimiento

Este tutorial te enseña cómo programar Arduino Nano para atenuar un LED. Vamos a repasar tres ejemplos y a comparar las diferencias entre ellos:

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×(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

Pinout del LED

El LED tiene dos pines:

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

Cómo funciona

Una vez que el cátodo(-) esté conectado a tierra:

  • Si GND está conectado al ánodo(+), el LED estará APAGADO.
  • Si VCC está conectado al ánodo(+), el LED estará ENCENDIDO.
  • Si se aplica una señal PWM al ánodo(+), el brillo del LED se ajustará según el valor PWM, que va de 0 a 255. Un valor PWM mayor resultará en un LED más brillante, mientras que un valor PWM menor resultará en un LED más oscuro.
    • Cuando el valor PWM sea 0, es equivalente a GND, por lo tanto el LED estará APAGADO.
    • Cuando el valor PWM sea 255, es equivalente a VCC, por lo tanto el LED estará TOTALMENTE ENCENDIDO.
    Cómo funciona un LED

    ※ Nota:

    Para la mayoría de los LEDs, se debe colocar una resistencia entre el ánodo (+) y VCC. El valor de la resistencia depende de las especificaciones del LED.

    Arduino Nano - desvanecer LED

    Algunos de los pines de un Arduino Nano pueden programarse para generar una señal PWM. Para atenuar un LED, podemos conectar el pin ánodo (+) del LED a un pin del Arduino Nano, el cátodo (-) a GND, y programar ese pin del Arduino Nano para generar PWM.

Diagrama de Cableado

Diagrama de cableado de LED 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ómo Programar

  • Configurar una salida digital en un pin de Arduino utilizando la función pinMode().
  • Por ejemplo, esto podría hacerse para el pin 5:
pinMode(5, OUTPUT);
  • Ajusta el brillo del LED creando una señal PWM con la función analogWrite():
analogWrite(5, brightness);

El brillo puede variar entre 0 y 255.

Código de Arduino Nano - Desvanecer 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-led-fade */ #define LED_PIN 5 // The Arduino PWM pin the LED is attached to int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // The setup function runs once on reset or power-up void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. 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

  • Conecta Arduino Nano a la computadora usando un cable USB.
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos.
  • Copia el código anterior y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código a la placa Arduino Nano.
Subir código en el IDE de Arduino
  • Mira la luminosidad del LED.

Explicación del código

¡Consulta la explicación línea por línea contenida en los comentarios del código fuente!

※ Nota:

El ejemplo anterior hace uso de la función [delay()] para crear un efecto de fundido de entrada y salida. Sin embargo, este método no es muy suave y evita que se ejecute otro código. En las próximas secciones, aprenderemos cómo lograr un fundido de entrada y salida suave sin bloquear el resto del código mediante la función [millis()].

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

/* * 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-led-fade */ #define LED_PIN 5 // the Arduino PWM pin the LED is attached to #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup function runs once on reset or power-up void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 5 to be 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 periodo sin usar delay()

/* * 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-led-fade */ #define LED_PIN 5 // the Arduino PWM pin the LED is attached to #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup function runs once on reset or power-up void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 5 to be 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.

Desafíate a ti mismo

Ajusta el brillo del LED con un potenciómetro. Consejo: Consulta Arduino Nano - Potentiometer para obtener más información.

Conocimientos Adicionales

  • La función analogWrite() en Arduino Nano genera una señal PWM que hace que un LED se atenúe. Sin embargo, si alguien tiene el conocimiento avanzado para crear una función personalizada que produzca una señal PWM de baja frecuencia, el LED parpadeará en lugar de atenuarse.
  • Resumen: Las señales PWM generadas por Arduino Nano pueden utilizarse para una variedad de usos, como controlar servomotores, motores DC, producir sonido con un zumbador piezoeléctrico, atenuar LEDs y parpadear LEDs.

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!