Paso 1: Sobre PWM
Modulación de anchura de pulso o PWM, es una técnica para la obtención de resultados análogos con medios digitales.
El valor promedio del voltaje (y corriente) a la carga es controlado por el interruptor entre fuente y carga encendiendo y apagando rápidamente. Cuanto más tiempo el interruptor es en comparado con los periodos de inactividad, mayor será la potencia total suministrada a la carga. Imagínense un interruptor para abrir y cerrar muy rápidamente.
Control digital se utiliza para crear una onda cuadrada, una señal que conmuta entre encendido y apagado. Este patrón de encendido y apagado puede simular tensiones entre completa (5 voltios) y apagado (0 voltios) cambiando la parte del tiempo que la señal pasa en versus el tiempo que pasa la señal de apagado. La duración de "on time" se llama el ancho de pulso. Para conseguir diferentes valores analógicos, cambiar o modular, ancho de pulso. Si usted repite este patrón de cierre lo suficientemente rápido como con un LED por ejemplo, el resultado es como si la señal es una tensión constante entre 0 y 5v control de la luminosidad del LED.
La Arduino UNO posee 6 pines digitales que pueden ser utilizados como salidas PWM (3, 5, 6, 9, 10 y 11). Arduino puede enviar la señal PWM con la función analogWrite(). Una llamada a analogWrite() es en una escala de 0 - 255, tal que analogWrite(255) pide un ciclo de deber del 100% (siempre encendido), y analogWrite(127) corresponde a un 50% del ciclo (en la mitad del tiempo) por ejemplo.
(ver imagen de arriba)