Seit wir 2012 mit dem Verkauf von NeoPixels begonnen haben, haben die verkettbaren RGB-LEDs die Welt erobert. Und ein großer Teil dieses Erfolgs ist auf die einfache Verkabelung zurückzuführen - nur eine Datenleitung, egal wie viele Pixel Sie haben. Kein Wunder also, dass sie überall auftauchen und in Kunstausstellungen, Maker Faire-Demos, DJ-Ständen, Dekorationen und Kostümen aufblinken.
Aber irgendwann stößt jeder NeoPixel'er an die Grenzen dieser Einzeldatenleitung: Das Timing ist sehr pingelig und oft muss der Code komplett anhalten, damit er die Daten ohne Unterbrechung ausgeben kann. Diese Anforderung erschwert die Erstellung von schnell aktualisierbaren Beleuchtungseffekten und schränkt die Anzahl der Pixel ein, die Sie ansteuern können, bevor andere Hardware-Peripheriegeräte Aufmerksamkeit erhalten.
Der ortsansässige Pixel-Profi Paint Your Dragon (der den Namen NeoPixel geprägt hat, nicht wahr?!) hat sich dieser Herausforderung gestellt und ist glorreich davongekommen. Bei sorgfältiger Prüfung des ATSAMD51-Datenblatts stellte er fest, dass man den Timer 0 im "Wellenform"-Modus verwenden und 8 einzigartige Wellenformen über DMA erstellen kann, die das gesamte Pixel-Pushing für einen übernehmen.
So wurden die NeoPXL8 Arduino Bibliothek und NeoPXL8 FeatherWing geboren! Die Bibliothek läuft auf der Feather M4 und übernimmt das gesamte NeoPixeling für Sie. Bis zu 8 Stränge mit gleichzeitiger DMA-Ausgabe können jeweils 1750 RGB-Pixel lang sein, was insgesamt 8 x 1750 = 14000 Pixel ergibt. Damit bleibt Ihnen auch noch etwas RAM für Ihren Code. Obwohl man so viele Pixel anschließen könnte, ist es unserer Meinung nach das Beste, dass dieser 'Wing die Vorteile von DMA und dem blitzschnellen 120-MHz-Prozessor des SAMD51 nutzt, um Animationen für Hunderte von Pixeln mit Leichtigkeit zu verwalten.
Um den Anschluss einfach zu machen, übernimmt dieser FeatherWing das Level-Shifting und die Pin-Anordnung für Sie. Alle 8 Stränge haben einen Level-Shifter, der den 3,3V-Logikpegel in 5V-Logik umwandelt, und einen kleinen Switch-Cap-Wandler, der die saubere 5V-Stromversorgung für Sie erzeugt. Ein 100-Ohm-Widerstand in der Leitung nach dem Puffer verringert das Klingeln bei langen Kabelwegen.
Für den Anschluss der NeoPixels gibt es zwei Möglichkeiten:
2 x 8 Header mit Masse und 5V-Logiksignal, paarweise
2 x RJ-45 'Ethernet' Buchsen, mit Masse und 5V-Logiksignal pro Twisted Pair. Dies entspricht der gleichen Verdrahtung wie beim OctWS2811
Um den 'Wing kompakt zu halten, lässt Adafruit Ihnen die Wahl, mit welcher Verdrahtung Sie gehen möchten, löten Sie einfach die Stecker ein, die Sie bevorzugen. Dann müssen Sie auch die NeoPixels mit Strom versorgen. Da Sie viele Ampere Strom benötigen, schaffen wir das nicht über den Flügel - das Kupfer der Leiterplatte wäre zu einschränkend. Wir empfehlen die Verwendung von Klemmenblöcken oder Stromschienen, um alle Masse-/5V-Leitungen miteinander zu verbinden und sie über eine eigene 5V-Versorgung zu versorgen.
Da wir TCC0 (Timer 0) verwenden, sind wir bei den Pins, die für die NeoPixel-Ausgabe verwendet werden können, eingeschränkt. Hier sind die Möglichkeiten, die Sie haben:
Ausgang #0 kommt entweder von SPI SCK oder RX (auswählbar)
Ausgang #1 kommt entweder von D5 oder TX (auswählbar)
Ausgang #2 kommt entweder von D9 oder I2C SCL (auswählbar)
Ausgang #3 kommt entweder von D6 oder I2C SDA (auswählbar)
Ausgang #4 kommt von Digital #13
Ausgang #5 kommt von Digital #12
Ausgang #6 kommt von Digital #11
Ausgang #7 kommt von Digital #10
Wie Sie sehen können, sind einige dieser Pins fest (D10, 11, 12 und 13) und der Rest hat zwei Optionen. Wenn Sie absolut nicht auf beide Optionen verzichten können, können Sie diese Funktion am DMA-Ausgang des NeoPXL8 deaktivieren und mit nur 7 Strängen leben.
Obwohl Adafruit speziell für die Verwendung mit dem Feather M4 (SAMD51-basiert) entwickelt wurde, kann man ihn auch mit anderen Feathers verwenden, um die Pegelverschiebung zu ermöglichen. Sie müssen nur herausfinden, welche NeoPixel-Treiber-Firmware Sie verwenden können und welche Pins verfügbar sind.
Wenn sich das alles für dich toll anhört, dann hol dir einen dieser Flügel und schau dir die Beispiele der NeoPXL8 Arduino Bibliothek an, um dein großes LED-Projekt in Gang zu bringen!
TECHNISCHE DETAILS
Abmessungen (nur Platine, keine Bauteile): 51 x 22,8 x 2,6mm
Produktgewicht: 4,0g / 0,1oz