ARDUINO: Fade de un LED



En esta práctica enviaremos valores analógicos para poder controlar la luminiscencia de un led.

 
 

Materiales:

  • 1x Arduino

  • 1x LED

  • 1x Resistor de 220Ω

  • 1x Protoboard

  • Jumpers

Esquema de montaje

El montaje del circuito empleado es muy simple, lo que vamos a tratar como tema nuevo sería la forma de programación. 

Clic en la imagen para ampliar.

Código

El funcionamiento es muy simple primero se define el pin para el LED, después en el setup se pone el LED como salida, en el loop se crea un for que ira desde 0 a 255, recordemos que la resolución del PWM es de 8 bits.

Dentro del for usamos analogWrite, donde recibe como parámetro el LED y los valores del for que ira incrementando de uno en uno y esto se almacena en el la variable i, se le da un delay de 10, ósea que cada 10 milisegundo se ira incrementando la variable i.

Se da un segundo delay de 1000 que será el tiempo en que se le da una pausa al LED, para que cambie el asegundo for, que hará casi lo del primer for, pero esta vez decrementa ósea, que empieza desde el 255 y termina en 0, recordamos que la sentencia for se vio en capítulos anteriores.

#define LED 3

void setup() {
 pinMode(LED,OUTPUT);

}

void loop() {
  for(int i = 1; i <= 255; i++){
    analogWrite(LED,i);
    delay(10);
    }
    delay(1000);
  for(int i = 255; i >= 1; i--){
    analogWrite(LED,i);
    delay(10);
    }
  delay(1000);
}

Gracias a los dos for vemos como incrementa y decrementa el brillo del led, si usamos un multímetro, veremos cómo aumenta y disminuye el voltaje entre los rangos de 0 a 5 volts.

Y es así como manejamos el PWM, lo que hace es que envía pulsos muy rápidos y eso hace que se emule un valor analógico y eso se hace como ya vimos con analogWrite.