Menu
CoddyTech

Aumenta gradualmente el brillo de un LED

Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 3 de 24.

Una variable puede almacenar el brillo. Cada vez que se ejecuta loop(), escríbelo en el LED, súmale un poco y espera un momento. El LED se ilumina gradualmente:

int brightness = 0;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}

El brillo se declara en la parte superior del sketch, como el contador de pulsaciones, así que conserva su valor de una ejecución de loop() a la siguiente. Si se declarara dentro de loop(), volvería a ser 0 cada vez.

255 es el valor máximo que acepta analogWrite(), así que if vuelve a iniciar el desvanecimiento desde 0 cuando el brillo lo supera.

El incremento y la espera determinan la velocidad: unos 50 pasos de 30 ms tardan un segundo y medio.

challenge icon

Desafío

Fácil

Haz que el LED del pin 9 se atenúe una y otra vez:

  • guarda el brillo en una variable creada antes de setup(), empezando en 0
  • en loop(), escríbelo con analogWrite(), suma 5 y espera 30 ms
  • cuando supere 255, vuelve a ponerlo en 0

Pulsa Run y observa el LED; después, pulsa Check.

Pruébalo tú mismo

const int ledPin = 9;
// crea aquí la variable de brillo, comenzando en 0

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // escribe el valor de brillo, suma 5, vuelve a empezar después de 255 y espera 30 ms
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Salidas

Practica por tu cuenta: Playground de Arduino