Depuis que nous avons commencé à proposer les NeoPixels en 2012, les LED RVB chaînables ont conquis le monde. Et une grande partie de ce succès est due à la simplicité de leur câblage - un seul fil de données, quel que soit le nombre de pixels. Il n'est donc pas surprenant qu'ils soient partout, qu'ils clignotent dans les expositions d'art, les démonstrations de maker font, les stands de DJ, les décorations et les costumes.
Mais, à un moment ou à un autre, tous les NeoPixel se heurtent aux contraintes de ce fil de données unique : le timing est très délicat et souvent votre code doit s'arrêter complètement pour que les données puissent sortir sans interruption. Cette exigence rend difficile la création d'effets d'éclairage à mise à jour rapide et limite le nombre de pixels que vous pouvez gérer avant que d'autres périphériques matériels n'attirent l'attention.
Le pro du pixel résident Paint Your Dragon (qui a inventé le nom NeoPixel dont-cha-savoir !) a relevé ce défi et l'a glorieusement réussi. En examinant attentivement la fiche technique de l'ATSAMD51, il a remarqué qu'il était possible d'utiliser le timer 0 en mode "forme d'onde" et de créer 8 formes d'onde uniques par DMA qui se chargerait de pousser les pixels à votre place.
C'est ainsi que sont nés la bibliothèque NeoPXL8 Arduino et NeoPXL8 FeatherWing ! La bibliothèque fonctionne sur le Feather M4 et gère tout le NeoPixeling pour vous, jusqu'à 8 brins de sortie DMA simultanés, chacun pouvant avoir une longueur de 1750 pixels RVB pour un total de 8 x 1750 = 14000 pixels. Cela vous laisse un peu de RAM pour que votre code s'exécute également. Même si vous pouvez connecter autant de pixels, nous pensons que cette 'Wing est la meilleure solution pour tirer parti du DMA et du processeur 120 MHz du SAMD51 pour gérer facilement des animations de centaines de pixels.
Pour faciliter la connexion, cette FeatherWing s'occupe du décalage de niveau et de la disposition des broches.
Les 8 brins ont tous un décaleur de niveau qui convertit le niveau logique de 3,3 V en logique de 5 V, il y a un petit convertisseur à commutateur qui génère l'alimentation propre de 5 V pour vous. Ensuite, une résistance de 100 ohms en ligne après le tampon réduit la sonnerie sur les longs parcours de câblage.
Vous avez deux options pour connecter les NeoPixels :
2 x 8 Header avec masse et signal logique 5V, par paires
2 x RJ-45 'Ethernet' Jacks, avec masse et signal logique 5V par paire torsadée.
Cela correspond au même câblage que l'OctWS2811.
Pour que la 'Wing reste compacte, Adafruit vous laisse choisir le câblage que vous souhaitez utiliser, il suffit de souder les connecteurs que vous préférez. Ensuite, vous devrez également fournir de l'énergie aux NeoPixels. Comme vous aurez besoin de beaucoup d'ampères de courant, nous ne le gérons pas à travers le Wing - le cuivre du PCB serait trop limitatif. Nous vous recommandons d'utiliser des borniers ou des barres omnibus pour connecter tous les fils d'alimentation de masse/5V ensemble et de les alimenter à partir de leur propre alimentation 5V.
Puisque nous utilisons TCC0 (Timer 0), nous sommes limités dans les broches qui peuvent être utilisées pour la sortie du NeoPixel. Voici les options qui s'offrent à vous :
La sortie #0 vient de SPI SCK ou RX (sélectionnable) La
sortie #1 vient de D5 ou TX (sélectionnable) La
sortie #2 vient de D9 ou I2C SCL (sélectionnable) La
sortie #3 vient de D6 ou I2C SDA (sélectionnable) La
sortie #4 vient de Digital #13
La sortie #5 vient de Digital #12 La
sortie #6 vient de Digital #11 La
sortie #7 vient de Digital #10
Comme vous pouvez le voir, certaines de ces broches sont fixes (D10, 11, 12 et 13) et le reste a deux options.
Si vous ne pouvez absolument pas vous passer des deux options, vous pouvez désactiver cette option à partir de la sortie DMA du NeoPXL8 et vivre avec 7 brins seulement.
Bien que Adafruit l'ait conçu spécifiquement pour être utilisé avec le Feather M4 (basé sur SAMD51), vous pourriez l'utiliser avec d'autres Feathers, pour les capacités de changement de niveau. Vous devrez juste trouver quel firmware de pilote NeoPixel vous pouvez utiliser et quelles broches sont disponibles.
Si tout cela vous semble génial, prenez l'une de ces ailes et consultez les exemples de la bibliothèque NeoPXL8 Arduino pour lancer votre projet de LED massif !
DÉTAILS TECHNIQUES
Dimensions (carte seule, sans composants) : 51 x 22,8 x 2,6mm
Poids du produit : 4,0g / 0,1oz