Étape 7: Où aller d’ici
Jouer avec l’esquisse de l’exemple fourni par Adafruit est amusant. Cependant certains d'entre vous pouvez avoir plus de contrôle sur ce qui est affiché sur le modèle. Dans mon cas j’ai voulu utiliser le modèle pour visualiser les données de la recherche actuelle sur l’activité cérébrale de la drosophile.
Pour cette partie, vous aurez à faire un peu de maths et de codage. Je ne donnera tous les détails dans ce Instructable, surtout parce que j’ai envie de le garder sur le matériel et parce que tout le monde aura une autre idée à l’esprit sur ce qu’ils veulent faire avec leur modèle spécifique. Cependant je serais heureux d’aider si les gens ont des questions dans les commentaires, et en attendant, voici quelques concepts de base et des idées, ainsi que des liens vers d’excellentes ressources où obtenir plus d’informations :
Si il n’ya pas trop de LEDs dans votre modèle, vous pouvez écrire, un par un, la couleur et l’intensité que vous souhaitez afficher sur chacun d’eux à l’aide de la fonction setPixelColor de la bibliothèque de neopixel. Cependant, depuis les étapes précédentes, vous savez quelle fibre correspond à quel endroit à l’intérieur du modèle (il y a l’emplacement des sphères à l’étape 2). En stockant ces coordonnées dans une matrice, avec trois colonnes et comme autant de lignes que là est des fibres, vous pouvez facilement lier le nombre de LED à respective x, y, z coordonnées à l’intérieur du modèle.
Il vous permet ensuite d’utiliser ces x, y, z les coordonnées dans les expressions mathématiques, comme les fonctions trigonométriques, spatialementmodulent la couleur et l’intensité affichée par chaque LED. Cette modulation peut être animée de ce qui les rend aussi dépendant du temps. Vous pouvez regarder l’incroyable 8 x 8 x 8 LED cube Instructable, étapes 55 à 62 ou ce lien, pour obtenir des idées.
Si, comme dans mon cas, vous voulez pour afficher des données tridimensionnelles , acquises ailleurs, il viendra probablement en valeurs mesurées sur une grille cartésienne. Étant donné que nous n’avons pas une LED pour chaque point de données, nous avons besoin d' interpoler les données pour x, y, z coordonnées correspondant à l’extrémité de la fibre. Le microcontrôleur arduino n’a pas suffisamment de mémoire et de puissance de traitement pour stocker les données initiales et de faire l’interpolation, alors vous aurez envie de pré-traiter les données. Vous avez probablement un langage de programmation mathématique de choix (matlab, python...), qui aura ses fonctions d’interpolation sur. Notez que les données traitées même peuvent prendre beaucoup d’espace, afin que vous puissiez stocker dans la mémoire de programme de l’arduino (32 k au lieu du 1 k de la sram) en utilisant les mots-clés PROGMEM.
j’ai joint mon sketch arduino pour montrer comment gérer la mémoire. Pour mon 53 LED, une animation de couleur peut contenir jusqu'à environ 170 photos, que je stocke dans un (FrameNumber) x (LEDnumber) x3 tableau. Dans le cas contraire, c’est un code assez simple, qui met à jour les couleurs affichées par les LED à l’aide de deux boucles qui faire défiler les images.
Nous y voilà, j’espère que cela devient vous avez commencé, je serais heureux de vous aider dans les commentaires !