Étape 1: Modulation de largeur d’impulsion pour le mélange des couleurs
Modulation de largeur d’impulsion est essentiellement mise sous tension à un appareil électrique se nourrissent et OFF assez rapidement. La puissance utile résulte de la moyenne mathématique de la fonction d’onde carrée prise au cours de l’intervalle d’une période. Plus la fonction reste en position ON, vous obtenez plus de puissance. PWM a le même effet sur la luminosité des LED comme un variateur sur les lumières de l’AC.
La tâche qui nous attend est de contrôler individuellement la luminosité de 64 LEDS RGB (= 192 LEDs unique!) d’une manière facile et bon marchée, donc, on peut obtenir l’ensemble du spectre des couleurs. Préférence il devrait y avoir aucun scintillement ou autres effets perturbateurs. La perception non linéaire de luminosité par le œil humain ne prendra pas en considération ici (par exemple la différence entre 10 % et 20 % de luminosité semble « plus grande » qu’entre 90 % et 100 %).
Image (1) illustre le principe de fonctionnement de l’algorithme PWM. Dire que le code est donné une valeur de 7 pour la luminosité de la LED(0,0). En outre, il sait qu’il y un maximum d’étapes N de luminosité. Le code s’exécute N boucles pour tous les niveaux de luminosité et de toutes les boucles nécessaires à chaque LED unique dans toutes les lignes de service. En cas le compteur de la boucle x dans la boucle de luminosité est inférieure à 7, la LED est allumée. Si elle est supérieure à 7, le voyant est éteint. Très vite le faire pour toutes les LEDs, les niveaux de luminosité et des couleurs de base (RVB), chaque LED peut être réglée individuellement pour montrer la couleur désirée.
Mesures avec un oscilloscope ont montrent que le code de rafraîchissement d’écran prend environ 50 % de temps CPU. Le reste peut servir à faire une communication série avec un PC, lire les boutons, parler à un lecteur RFID, j’ai envoyer2C données à d’autres modules...