PRÁCTICA 5 – ARDUINO UNO
Encender un LED por PWM
/* ---------------------------------------------
Enciende/Apaga un LED de forma proporcional
---------------------------------------------
Programa que enciende proporcionalmente un LED
cuando llega a su máximo punto de brillo comienza a
apagarse proporcionalmente.
*/
//Declara puertos de entradas y salidas y variables
int brillo = 0; //Variable de brillo inicia en 0
int variacion = 5; //Variable incremento de 5 en 5
int led = 9; //Pin donde se encuentra el LED, salida
//Funcion principal
void setup () //Se Ejecuta al inicio del Arduino
{
pinMode(led, OUTPUT); // LED como una salida
}
//Funcion ciclicla
void loop () // Esta función se mantiene ejecutando
{ // cuando este energizado el Arduino
// Escritura analoga (PWM) en el LED escribo el valor de brillo
analogWrite(led, brillo);
// Incremento la variable brillo de 5 en 5
brillo = brillo + variacion;
// Nota: PWM ----> 0 - 255
// Si el brillo es 0 o 255
if (brillo = = 0 || brillo = = 255)
variacion = -variacion; //La variación se vuelve negativa
delay (30); //Tiempo de incremento en el brillo
}
//Fin programa
EJERCICIOS
1. Tu mamá quiere tener unas luces de intensidad
variables en la sala de tu casa, quiere poca luz para
los momentos en que la familia comparte para
mantener la armonía pero requiere bastante luz
cuando realiza sus tejidos, ella quiere tener el control
de la intensidad de luz mediante un potenciómetro y
que la bombilla LED se ilumine de acuerdo a lo
graduado por ella. Tu tarea es realizar el programa
que al leer una entrada análoga de un potenciómetro
(0—1023) se ajuste el valor de PWM (0-255) de un
LED, recuerda escalar el valor… map()
VERIFICACIÓN DEL EJEMPLO
SOLUCIÓN EJERCICIO