Étape 6: PICxel bibliothèque-Comment ça marche ?
Mais nous allons passer devant qui et entrer dans la plus intéressante du logiciel : le code lui-même. Encore une fois, comme je n’ai pas personnellement écrit du code, cela va être plus d’une présentation de la carte illustrant certaines des divers points de la code fonctionne.
Nous allons vérifier la principale force motrice qui permet à notre tableau de 30 x 30 particulier des LEDs à courir comme prévu : la bibliothèque de PICxel. Cette bibliothèque est étonnamment simple et facile à utiliser.
Pour commencer et initialiser le tableau de tous les 900 LED nous appeler tout d’abord la construction de la classe de PICxel :
Name_of_the_set_of_LEDs PICxel (how_many_LEDs_we_have, which_pin_the_data_is_being_sent_from_to_the_LEDs, color_mode) ;
Ici, nous pouvons fournir comment LEDs nous courons (900), qui épingle les données va être utilisé pour se connecter à la ligne de données sur les LEDs (broche 3 dans notre cas) et le mode de la couleur désirée. Bibliothèque de Marshall prend en charge deux modes de couleur : GRB (RVB dans un ordre différent) et le HSV. Notre jeu de serpent arrive à utiliser HSV puisque cela a permis à plus de flexibilité pour l’utilisateur de choisir une couleur et la luminosité.
La LED allumée en cours d’exécution en appelant d’abord dans notre installation, nous pouvons obtenir le
name_of_the_set_of_LEDs.Begin() ;
fonction et puis choisissez les paramètres de la LED et par la suite mettre à jour la bande de LED avec nos nouvelles valeurs.
HSV couleur mode, vous pouvez régler la teinte, saturation et valeur. Pour ceux d'entre vous qui ne le savent pas, ces valeurs se traduisent à peu près à la couleur, comment « gras » est d’une couleur particulière au lieu d’être délavées et comment "brillant" est d’une couleur au lieu d’être sombre, respectivement. Celles-ci sont toutes définies avec la fonction suivante :
name_of_the_set_of_LEDs.HSVsetLEDColor (which_LED_out_of_your_set_you_want_to_change, hue, saturaturation, valeur) ;
Cette fonction seulement définira (mais pas encore mise à jour) les valeurs sur un seul LED, donc il a recommande d’utiliser une boucle for pour changer plusieurs valeurs de LED.
Pour mettre à jour les voyants afin qu’ils voient leurs nouveaux paramètres (ou vieux si cet LED particulière n’était pas mis à jour), simplement émettre la commande suivante :
name_of_the_set_of_LEDs.refreshLEDs() ;
La fonction refresheLEDs() utilise code de manipulation et d’assemblage port à faire pour une bibliothèque serrée donc très que peu de temps est gaspillé dans les nouvelles informations d’envoi à la LED WS2812 à leur débit de données désignée.
Vous pouvez consulter une capture d’écran de la démo HSV pour cette bibliothèque dans l’image pour cette étape.