Tutorial Arduino 4, cambiando la intensidad de un LED

Siguiendo con nuestro tercer tutorial de Arduino Uno donde examinamos la sincronización y los tiempos, vamos a realizar una actualización del ejemplo estándar de Arduino sobre el apagado. En lugar de utilizar la función de retardo (), utilizamos la funcionalidad de temporización del tutorial 3, que permite que se ejecute al mismo tiempo otro código. El código debe ser autoexplicativo.

Simplemente conectamos un LED y una resistencia serie de 220 ohmios entre el pin 9 y tierra.


/*
Fade

Este ejemplo muestra cómo atenuar un LED en el pin 9
Utilizando la función analogWrite().

Este ejemplo basado en el codigo de desvanecimiento de ejemplo de Arduino
Pero modificado para utilizar la temporización en lugar de la función delay()

*/
int brightness = 0; // lo que indica el brillo del led
int fadeAmount = 5; // cuántos puntos atenuamos el LED
unsigned long currentTime;
unsigned long loopTime;

void setup() {
// declara que el pin 9 es una salida, output:
pinMode(9, OUTPUT);
currentTime = millis();
loopTime = currentTime;
}

void loop() {
currentTime = millis();
if(currentTime >= (loopTime + 20)){
// ajustar el brillo del pin 9:
analogWrite(9, brightness);

// cambia el brillo para la próxima vez a través del bucle:
brightness = brightness + fadeAmount;

// invertir la dirección del desvanecimiento en los extremos del fundido:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
loopTime = currentTime; // actualiza el loopTime
}
// Se puede hacer otro procesamiento aqui

}

Anterior proyecto

Pin It on Pinterest

Shares