Saltar la navegación

Programa que encén i apaga de forma progressiva un LED per PWM

Programa que enciende y apaga de forma progresiva un LED por PWM.

Enciende LED1 gradualmente por pwm, controlable por la variable incremento Cuando está a máximo queda encendido 1 segundo, controlable con la variable expo a partir de este momento se apaga gradualmente cuando LED1 está totalmente apagado se repite la acción con LED2

Código modificado por www.sacosta.org

//enciende LED1 gradualmente por pwm,
//controlable por la variable incremento
//cuando está a màximo queda encendido 1 segundo
//controlable con la variable expo
//a partir de este momento se apaga gradualmente
//cuando LED1 está totalmente apagado
//se repite la acción con LED2
int LED1 = 3;// LED1 en pin 3
int LED2 = 5;// LED2 en pin 5
int BRILLO;//0 totalmente apagado, 255 máxima emisión luz
int incremento=15; //tiempo entre paso y paso de encendido/apagado
int expo=1000; //tiempo de permanencia encendido
void setup(){
pinMode(LED1, OUTPUT);//pin 3 como salida
pinMode(LED2, OUTPUT);// pin 5 como salida
}

void loop(){
for (BRILLO = 0; BRILLO < 256; BRILLO++){ // bucle de 0 a 255
analogWrite(LED1, BRILLO); // escritura en pin PWM
delay(incremento); // demora entre incrementos
}
delay(expo); //tiempo que permanece encendido
for (BRILLO = 255; BRILLO >= 0; BRILLO--){ // bucle de 255 a 0
analogWrite(LED1, BRILLO); // escritura en pin PWM
delay(incremento); // demora entre incrementos
}
for (BRILLO = 0; BRILLO < 256; BRILLO++){ // bucle de 0 a 255
analogWrite(LED2, BRILLO); // escritura en pin PWM
delay(incremento); // demora entre incrementos
}

for (BRILLO = 255; BRILLO >= 0; BRILLO--){ // bucle de 255 a 0
analogWrite(LED2, BRILLO); // escritura en pin PWM
delay(incremento); // demora entre incrementos
}
delay(expo);//tiempo que permanece encendido
}