Étape 5: codage
Nous avons commencé par se familiariser avec la bibliothèque FastLED , qui fournit des fonctions qui permettent un Arduino pour interagir avec des bandes de LED et utilisé les outils qu'il a fourni pour développer des algorithmes qui fait les LEDs allument dans bagouts réminiscence de l’eau. Notre programme parcourt quatre modes principaux, dont chacun sont touchés par une lecture de deux capteurs de distance infrarouge.
L’architecture originale du programme décalé lors du rendu de toutes les bandes de sept nous obligent à revoir notre conception. Après quelques recherches, nous avons trouvé une bibliothèque qui a été optimisée pour le Teensy (un Arduino plus puissant) et WS2811 (le modèle de LED, nous avons commandé). Cette bibliothèque s’appelle OctoWS2811 et peut courir jusqu'à 8 bandes de LED en temps réel. Nous avons utilisé OctoWS2811 en association avec FastLED. Cela nécessitait une réécriture de notre code d’utiliser un tableau de pixels au lieu d’un tableau à deux dimensions.
Vous pouvez programmer le Teensy facilement avec le même code que vous utiliseriez pour Arduino en téléchargeant une extension vers l’environnement Arduino original appelé Teensyduino. Voici un lien.
Nous avons ajouté des capteurs infrarouge pour permettre une interaction avec la fontaine. Afin de « lisser » lectures des capteurs, nous avons utilisé une bibliothèque appelée RunningMedian.
Voici un lien vers notre dernier code, si vous voulez l’utiliser directement ou de copier et de le modifier.