Étape 3: La fonction d’onde sinusoïdale
La fonction d’onde sinusoïdale de base génère des nombres de -1 à 1. Comment est-ce que nous avons modifier la fonction de base pour une utilisation comme un générateur de nombres PWM ?
forme générale :
y = a * sin (b * x + c) + d
Où
b modifie la période (combien de temps dure la vague)
c provoque un décalage de phase le long de l’axe des x
d augmente ou diminue la vague le long de l’axe y
L’onde sinusoïdale produit des nombres compris entre -1 et + 1. Cela provoque un problème parce que les valeurs PWM ne peuvent pas être négatives. Le premier changement que nous devons faire est d’ajouter 1 en substituant 1 d de la formule. y = a * sin (b * x + c) + 1 nous donnera des valeurs comprises entre 0 et 2.
Ensuite, il nous fallait augmenter l’amplitude pour produire notre valeur PWM maximale de 255. Telle qu’elle est la valeur maximale est 2. C’est pourquoi 255/2 = 127,5. Le PWM doit être qu'un entier donc nous nous installons sur 127 qui nous donne un maximum de 254. Maintenant la formule ressemble à ceci :
y=127*(Sin(b*x+c)+1) noter le support supplémentaire.
Nous avons trois voyants nous voulons interagissent ensemble pour donner des changements subtils dans les valeurs de couleurs additives. C’est pourquoi nous avons dû utiliser un décalage de phase pour chaque couleur. Ceci où cela devient difficile pour nous. Les ordinateurs utilisent les radians pas de degrés. Le déphasage devait donc être exprimé en radians. Il s’avère que la conversion est simple. 90 ° = 90/180 * radians PI ou 1/2 * radians PI. Un déphasage de 270° exigerait 3/2 * radians PI. Si nous ne modifient pas la période nous avons maintenant trois fonctions, une pour chaque couleur de nos LED
Red=127*(Sin(x)+1)
Green=127*(Sin(x+1/2*pi)+1)
Blue=127*(Sin(x+3/2*pi)+1)