Fading en Arduino.

Desvanecimiento de un LED

Muestra el uso de la salida analógica para atenuar un LED.

En este ejemplo se muestra el uso de la función analogWrite() para atenuar y apagar un LED. AnalogWrite utiliza modulación de ancho de pulso (PWM), encendiendo y apagando un pin digital muy rápidamente con diferentes relaciones entre encendido y apagado, para crear un efecto de desvanecimiento.

Hardware requerido

  • Placa Arduino
  • LED
  • Resistencia de 220 ohmios
  • cables de conexión
  • Protoboard

Circuito

Conecte el ánodo (la pata más larga y positiva) de su LED al pin de salida digital 9 en su placa a través de una resistencia de 220 ohmios. Conecte el cátodo (la pierna más corta y negativa) directamente a tierra.


 

Esquemático

Código

Después de declarar que el pin 9 es su

La función que usará en el bucle principal del código requiere dos argumentos: uno que indica a la función en qué pin escribir y otro que indica qué valor PWM escribir.

analogWrite()

Para atenuar y encender el LED, aumente gradualmente el valor de PWM de 0 (completamente apagado) a 255 (completamente encendido), y luego vuelva a 0 una vez más para completar el ciclo. En el siguiente boceto, el valor PWM se establece mediante una variable denominada . Cada vez a través del bucle, aumenta por el valor de la variable .

brightness
fadeAmount

Si está en cualquiera de los extremos de su valor (ya sea 0 o 255), entonces se cambia a su negativo. En otras palabras, si es 5, entonces se establece en -5. Si es -5, entonces se establece en 5. La próxima vez a través del bucle, este cambio hace que también cambie de dirección.

brightness
fadeAmount
fadeAmount
brightness

analogWrite()
 puede cambiar el valor PWM muy rápido, por lo que el retraso al final del boceto controla la velocidad del fundido. Intente cambiar el valor del retraso y vea cómo cambia el efecto de desvanecimiento.


/*
  Fade

  This example shows how to fade an LED on pin 9 using the analogWrite()
  function.

  The analogWrite() function uses PWM, so if you want to change the pin you're
  using, be sure to use another PWM capable pin. On most Arduino, the PWM pins
  are identified with a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Fade
*/

int led = 9;         // the PWM pin the LED is attached to
int brightness = 0;  // how bright the LED is
int fadeAmount = 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, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // set the brightness of pin 9:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}

Evidencias.

Comentarios

Entradas populares