Étape 4: Vue d’ensemble du code du contrôleur
Le code gère les groupes de LED soit blanc ou RGB. Le bar ou la discothèque montre un mélange des deux.
Les LEDs RGB suivre une onde sinusoïdale. Le code calculé initialement la valeur que la LED « lead » et puis il itérées jusqu'à l’autres RGBs. Les calculs ont été incroyablement lents. Amélioration de la vitesse requise calcul préalable l’onde sinusoïdale complète et statiquement stockant dans un tableau. Le code s’exécute beaucoup plus rapidement en conséquence et permet de fouetter à travers toutes les LEDs.
Les LEDs sont regroupées dans le code. Les RGBs sont un seul cluster. Un jeu de fenêtres sont une autre et ainsi de suite. Chaque LED a démarrer et champs heure de fin qui indiquent comment nombre de millisecondes à attendre avant d’effectuer une action tels que le changement de couleur, activer ou désactiver.
La fonction loop() effectuera une itération à travers chaque grappe de LED et vous remarquerez peut-être léger retard que le code doit itérer sur tous les voyants, puis effectuez une mise à jour pour définir leur état. Un petit délai est l’un de ces bugs c’est une caractéristique. Il ajoute certaine variabilité de la durée des LEDs, rendant l’éclairage un peu plus réaliste.
Notez que toutes les heures sont codées en dur. Vous pouvez changer cela afin que les lumières exécutent pendant une durée aléatoire.
S’il vous plaît soyez prudent avec les LEDs blanches et les paramètres de luminosité, que vous choisissez. Le TLC5940 comporte les étapes qui vont de 0 (off) à 4096 (feuilles des taches dans les yeux). J’ai baissé la luminosité LED par défaut à quelque chose de très faibles de voir le travail de LED après avoir bêtement affectant les LEDs à leur maximum et avoir un moment difficile de voir autre chose que des taches ensuite. Vous devrez définir les LEDs sur une valeur supérieure, une fois installée dans le modèle, parce que windows et autres éléments peuvent diffuser ou bloquer la lumière.