Paso 3: La función de onda de seno
La función de onda básica genera números de -1 a 1. ¿Cómo modificamos la función básica para el uso como un generador PWM?
forma general:
y = a * pecado (b * x + c) + d
Donde
b cambia el período (Cuál es la onda)
c provoca un desfase en el eje x
d aumenta o disminuye la onda a lo largo del eje y
La onda senoidal produce números entre -1 y + 1. Esto causa un problema porque los valores PWM no pueden ser negativos. El primer cambio que tenemos que hacer es agregar 1 sustituyendo d en la fórmula 1. y = a * pecado (b * x + c) + 1 nos da valores entre 0 y 2.
A continuación necesitamos aumentar la amplitud para producir el valor PWM máxima de 255. Tal como se encuentra el valor máximo es 2. Por lo tanto, 255/2 = 127,5. El PWM debe ser un entero para que nos colocan en 127 que nos da un máximo de 254. Ahora la fórmula se ve así:
y=127*(sin(b*x+c)+1) en cuenta los soportes adicionales.
Contamos con tres LEDs que queremos que interactúan entre sí para dar cambios sutiles en los valores de color aditivo. Por lo tanto tuvimos que utilizar un cambio de fase para cada color. Esto donde se pone complicado para nosotros. Los ordenadores utilizan radianes, no grados. Por lo tanto el desplazamiento de fase que se expresa en radianes. Resulta que la conversión es simple. 90 ° = 90/180 * radianes PI o 1/2 * radianes de PI. Un desfase de 270° requeriría 3/2 * radianes de PI. Si no alteramos el período ahora tenemos tres funciones, una para cada color de los LED
red=127*(sin(x)+1)
Green=127*(sin(x+1/2*PI)+1)
Blue=127*(sin(x+3/2*PI)+1)