Paso 2: Usando modulación de anchura de pulso (PWM)
Modulación de ancho de pulso (PWM) es una técnica para simular valores analógicos en un pin digital. Hay varios pines digitales en Arduino que dependiendo de la Junta que está usando PWM. Por ejemplo, el Yun que utilizamos en este taller apoya PWM de 8 bits (0-255) sobre los pasadores del digitales 3, 5, 6, 9, 10, 11 y 13 usando la función analogWrite().
PWM simula datos analógicos mediante la creación de una onda cuadrada (básicamente una repetición alternar entre encendido y apagado) donde la duración del período es el ancho de pulso. Si la onda cuadrada tiene una anchura de pulso de 50% (más comúnmente conocida como un ciclo de trabajo), la salida de ese pin es cantidades iguales de encendido y apagado. Si el ciclo de trabajo es 25% entonces la salida del perno será de tres veces mientras está en (25%, 75% de descuento).
Porque las ventanas de tiempo de un ciclo es demasiado rápido para el ojo humano de percibir (unos 2 milisegundos en los pines de Arduino que PWM), en lugar de causar un LED estroboscópico o parpadeo, simplemente parece que es más o menos brillante. Usando un ciclo de trabajo 25% el LED sería en (alto rendimiento) por medio de un milisegundo y off para 1,5 milisegundos que hace el LED que parecen estar en el 25% de brillo. Tan mientras que realmente no estamos enviando datos analógicos a digital LED, estamos utilizando PWM para simular el efecto de datos analógicos.