Aumentar luminosidad de led con pulsador (fading). (Programa 5 de 5)
Se trata de aumentar la luminosidad de un diodo led conectado al pin 11 a través de la activación de un pulsador. El pulsador debe estar conectado al pin 2. Mientras el pulsador está conectado aumenta la luminosidad del led hasta llegar a su valor máximo (255), si el pulsador se desactiva se mantendrá su luminosidad hasta que el valor de luminosidad llegue a su máximo (255) pulsando nuevas veces, si esto ocurre la luminosidad pasará a valor nulo (0).
Objetivos:
• Repaso de conexionado de entradas digitales.
• Repaso de órden digitalRead.
• Repaso de conexionado de salidas analógicas.
• Repaso de órden analogWrite.
Solución:
int led = 11; // elegimos el pin del led
int pulsador = 2; // elegimos el pin del pulsador
int x=0; // configuramos la variable para incrementar el valor de luminosidad
void setup()
{
pinMode(led, OUTPUT); // declaramos led como salida
pinMode(pulsador, INPUT); // declaramos pulsador como entrada
}
void loop()
{
while (digitalRead(pulsador) == HIGH && x<=255) // chequea si el pulsador está pulsado y x es menor de 255
{
analogWrite(led,x); // aumenta la luminosidad del led en función del tiempo de activación de pulsador
delay(20);
x=x+3;
}
if (x>255) {
x=0; // asigna el valor 0 a x
analogWrite(led, 0); // apaga el led
}
}
Objetivos:
• Repaso de conexionado de entradas digitales.
• Repaso de órden digitalRead.
• Repaso de conexionado de salidas analógicas.
• Repaso de órden analogWrite.
Solución:
int led = 11; // elegimos el pin del led
int pulsador = 2; // elegimos el pin del pulsador
int x=0; // configuramos la variable para incrementar el valor de luminosidad
void setup()
{
pinMode(led, OUTPUT); // declaramos led como salida
pinMode(pulsador, INPUT); // declaramos pulsador como entrada
}
void loop()
{
while (digitalRead(pulsador) == HIGH && x<=255) // chequea si el pulsador está pulsado y x es menor de 255
{
analogWrite(led,x); // aumenta la luminosidad del led en función del tiempo de activación de pulsador
delay(20);
x=x+3;
}
if (x>255) {
x=0; // asigna el valor 0 a x
analogWrite(led, 0); // apaga el led
}
}
Comentarios
Publicar un comentario