Paso 5: codificación
Comenzamos por familiarizarse con la biblioteca de FastLED , que proporciona funciones que permiten un Arduino interactuar con las tiras de LED y utilizan las herramientas que proporciona para desarrollar algoritmos que el LED Encienda en patrones de agua. Nuestro programa de ciclos a través de cuatro modos principales, cada uno de los cuales se ven afectados por las lecturas de dos sensores de infrarrojos a distancia.
La arquitectura original del programa se retrasó al representar todas las siete tiras nos obliga a revisar nuestro diseño. Después de algunas investigaciones, se encontró una biblioteca que fue optimizada para Teensy (un Arduino más potente) y WS2811 (el modelo de LEDs nos ordenó). Esta biblioteca se llama OctoWS2811 y puede ejecutar hasta 8 tiras de LED en tiempo real. Utilizamos el OctoWS2811 en combinación con FastLED. Esto requirió una reescritura de nuestro código para utilizar un largo array de pixeles en vez de un array bidimensional.
Usted puede programar el Teensy fácilmente con el mismo código que se utilizaría para Arduino mediante la descarga de una extensión al original entorno de Arduino Teensyduino. Aquí hay un enlace.
Hemos añadido sensores de infrarrojos para permitir la interacción con la fuente. En orden a "suavizar" lecturas de los sensores, utiliza una librería llamada RunningMedian.
Aquí hay un enlace a nuestro final del código, si usted quiere usarlo directamente o copiar y modificarlo.