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
}
}



Comentarios

Entradas populares de este blog

2.12 Instrucciones lógicas.

2.9 Instrucciones aritméticas.

2.10 Manipulación de la pila.