Paso 6: PICxel biblioteca-¿cómo funciona?
Pero vamos a superar eso y entrar en la más interesante del software: el propio código. Otra vez, no personalmente escribir cualquiera del código, esto va a ser más que un resumen de junta que ilustran algunos de los distintos puntos de los trabajos de código.
A comprobar hacia fuera de la principal fuerza impulsora que permite nuestra particular matriz de 30 x 30 de LEDs para ejecutar según lo planeado: la biblioteca PICxel. Esta biblioteca es sorprendentemente simple y fácil de usar.
Para empezar e inicializar el array de 900 LEDs todos nosotros primero llamar la construcción de la clase PICxel:
PICxel name_of_the_set_of_LEDs (how_many_LEDs_we_have, which_pin_the_data_is_being_sent_from_to_the_LEDs, color_mode);
Aquí podemos proporcionar como LEDs estamos corriendo (900), que pin los datos va a ser utilizado para conectar a la línea de datos de los LEDs (pin 3 en nuestro caso) y el modo de color deseado. Biblioteca de Marshall admite dos modos de color diferentes: GRB (RGB en un orden diferente) y el VHS. Nuestro juego de la serpiente pasa a usar VHS puesto que permite más flexibilidad al usuario elegir un color y el brillo.
Podemos conseguir los LEDs encendidos funcionando llamando primero en nuestra configuración de la
name_of_the_set_of_LEDs.Begin();
función y elija la configuración de los LEDs y posteriormente actualizar la tira de LEDs con nuestros nuevos valores.
Modo de color HSV, puede establecer el tono, saturación y valor. Para aquellos de ustedes que no sabrán, estos valores se traducen aproximadamente en el color, un color particular como "Negrita" es en vez de ser lavado fuera y un color "brillante" como es en lugar de ser oscuro, respectivamente. Estos son todo listo con la siguiente función:
name_of_the_set_of_LEDs.HSVsetLEDColor (which_LED_out_of_your_set_you_want_to_change, hue, saturaturation, valor);
Esta función sólo establecerá (pero aún no actualizacion) los valores en una LED, por lo que se recomienda el uso de un bucle cambiar varios valores del LED.
Para actualizar los LEDs para que todos ellos muestran su nueva configuración (o viejo si ese LED particular no se ha actualizado), simplemente ejecute el siguiente comando:
name_of_the_set_of_LEDs.refreshLEDs();
La función refresheLEDs() utiliza el código de manipulación y montaje de puerto para hacer una biblioteca apretado muy que poco tiempo se desperdicia en enviando la nueva información que los LEDs WS2812 en su tarifa de datos designado.
Usted puede ver una captura de pantalla de la demo HSV para esta biblioteca en el cuadro para este paso.