Inhaltsverzeichnis:

Magic Hercules - Treiber für digitale LEDs - Gunook
Magic Hercules - Treiber für digitale LEDs - Gunook

Video: Magic Hercules - Treiber für digitale LEDs - Gunook

Video: Magic Hercules - Treiber für digitale LEDs - Gunook
Video: Hercules Universal DJ Test 2024, Kann
Anonim
Magic Hercules - Treiber für digitale LEDs
Magic Hercules - Treiber für digitale LEDs

Schneller Überblick:

Das Magic Hercules Modul ist ein Konverter zwischen dem bekannten und einfachen SPI zum NZR Protokoll. Die Moduleingänge haben eine Toleranz von +3,3 V, sodass Sie alle Mikrocontroller, die mit einer Spannung von +3,3 V arbeiten, sicher anschließen können.

Die Verwendung des SPI-Protokolls zur Ansteuerung digitaler LEDs ist ein innovativer Ansatz unter den aktuellen Lösungen, wie beispielsweise vorgefertigten Bibliotheken für Arduino. Es ermöglicht jedoch den Wechsel zu jeder Plattform unabhängig von der Mikrocontroller-Familie (z. B. ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) und unabhängig von der Programmiersprache (z. B. C, Arduino C++, Python oder andere.) das das SPI-Protokoll unterstützt). Dieser Ansatz zur Programmierung digitaler LEDs ist äußerst anfängerfreundlich, da Sie lediglich Kenntnisse des SPI-Protokolls benötigen.

Das MH-Modul ermöglicht auch mehrere Modi zum Testen digitaler LED-Streifen, einschließlich des Testens der Farbreihenfolge in der Diode (RGB, BGR, RGBW usw.), des Testens der gesamten Streifen oder Anzeigen (bis zu 1024 LEDs).

Schritt 1: Warum arbeite ich am Magic Hercules-Modul?

Warum arbeite ich am Magic Hercules Modul?
Warum arbeite ich am Magic Hercules Modul?

Ich arbeite schon lange mit digitalen LEDs wie WS2812, WS2815 oder SK6812, die ich normalerweise Magic LED nenne.

Ich habe viele Streifen, Ringe und Displays (sogar meine eigenen) auf Basis von Magic LED (sogar mit RGBW-Typ) getestet. Ich habe Arduino, Nucleo (mit STM), Raspberry Pi und meine eigenen Boards mit AVR-Mikrocontrollern verwendet.

Unabhängig von der Plattform ist das Schreiben eines Programms zur Steuerung von magischen LEDs schwierig (wegen der Notwendigkeit von NZR-Protokollsoftware), es sei denn, Sie verwenden vorgefertigte Bibliotheken, die es einfach machen, aber immer noch nicht ganz optimal in Bezug auf die Codenutzung, Interrupt Antworten oder Speicherauslastung und funktionieren nur auf bestimmten Plattformen (eine Portierung auf zB von Raspberry auf AVR-Mikrocontroller ist nicht möglich).

Aufgrund der Tatsache, dass ich oft verschiedene Plattformen nutze, hatte ich das Bedürfnis, dass der Programmcode möglichst kompatibel zu Arduino, Raspberry Pi, ARM/STM (Nucleo) oder AVR ist – insbesondere wenn es um Lichteffekte geht.

Ich arbeite schon lange an dem Youtube-Kanal und habe mehr als eine Anleitung zur Programmierung digitaler Dioden in C-Sprache für AVR-Mikrocontroller vorbereitet (vorerst jedoch nur auf Polnisch). Ich habe oft Kontakt mit Anfängern, die Schwierigkeiten haben, magische LEDs zu programmieren. Natürlich wählen einige, je nach Plattform, fertige Bibliotheken für ihre einmaligen Projekte. Viele Leute suchen jedoch nach anderen Lösungen oder versuchen, die Geheimnisse der Programmierung zu erlernen und ich bin einer von ihnen.

Schritt 2: SPI-zu-NZR-Konvertierung

Umrechnung von SPI in NZR
Umrechnung von SPI in NZR

Ich beschloss, ein Modul vorzubereiten, das die Drecksarbeit für den Benutzer mit dem NZR-Protokoll übernimmt. Das Modul, das als SPI-zu-NZR-Konverter fungiert und genau wie SPI problemlos auf jeder Plattform verwendet werden kann. Der obige Screenshot zeigt die Konvertierung von SPI-Signalen in das NZR-Protokoll im Magic Hercules-Modul.

Schritt 3: Magic Hercules Modul als digitaler LED-Streifentester

Magic Hercules Modul als digitaler LED-Streifentester
Magic Hercules Modul als digitaler LED-Streifentester

Beim Anschluss von digitalen LEDs an verschiedene Systeme sollte man sich an die entsprechende Spannungstoleranz für verschiedene Mikrocontroller erinnern. Die meisten I/O-Pins von ARM-Mikrocontrollern arbeiten im +3,3-V-Standard, während die AVR-Mikrocontroller im TTL-Standard arbeiten. Aus diesem Grund haben die Eingangspins des Magic Hercules-Moduls eine Toleranz von +3,3 V, sodass sie z. B. sicher an einen Raspberry P oder jeden ARM-basierten Mikrocontroller mit +3,3 V angeschlossen werden können.

Wie bereits erwähnt, arbeite ich oft mit verschiedenen Arten von digitalen LEDs. Je nach Hersteller können sich einzelne Farben in den LEDs an unterschiedlichen Positionen befinden, z. B. RGB, BGR, GRB, RGBW, GRBW usw. Es ist nicht ungewöhnlich, dass die Herstellerdokumentation die RGB-Sequenz erwähnt, aber tatsächlich sieht sie anders aus. Damit es kein Problem ist, schnell herauszufinden, wie man ein Programm für die richtige Farbreihenfolge schreibt, habe ich das Hercules-Modul mit einem Farbfolgetest ausgestattet. Mehrere Zusatzfunktionen des Testers ermöglichen es Ihnen schnell zu überprüfen, ob der digitale LED-Streifen überhaupt funktioniert, ob alle Farben in jeder LED über den Streifen (bis zu 1024 LEDs!) richtig funktionieren (keine Pixelfehler). Und das alles, ohne einen Mikrocontroller anzuschließen und ein Programm zu schreiben.

Schritt 4: Magic Hercules Modul - Neue Universallösung für digitale LEDs

Magic Hercules Modul - Neue universelle Lösung für digitale LEDs
Magic Hercules Modul - Neue universelle Lösung für digitale LEDs

Ich glaube nicht, dass es so etwas noch gab, digitale LEDs über ein einfaches und gängiges SPI-Protokoll zu steuern, das auf jeder Plattform oder Familie von Mikrocontrollern betrieben werden kann.

Natürlich gibt es viele Möglichkeiten, digitale LEDs zu steuern, einige sind optimaler und andere weniger optimal. Das Magic Hercules Modul ist eine weitere Option und für mich sehr praktisch. Ich denke, dass diese ungewöhnliche Lösung jemandem gefallen könnte. Ich bin kürzlich auf der Crowdfunding-Plattform Kickstarter gestartet, wo ich in mehreren Videos eine umfassendere Beschreibung des Magic Hercules-Moduls vorbereitet habe, darunter auch, wie einfach es ist, damit auf Arduino, Nucleo (STM), Raspberry Pi und auf AVR und PIC zu arbeiten Mikrocontroller. Wenn Sie das Magic Hercules-Projekt unterstützen möchten, schauen Sie sich das an:

My Magic Hercules Modulprojekt auf Kickstarter

Ich habe ein Programm in C-Sprache vorbereitet - ein einfacher Stargate-Effekt, der auf Tabellenoperationen und sequentiellem Senden des Puffers in der Hauptschleife basiert. Dank des Magic Hercules-Moduls konnte ich den Quellcode problemlos auf andere Sprachen und Plattformen übertragen - siehe nächste Schritte - Quellcodes.

Schritt 5: Magic Hercules Modul mit Atmega32 und C

Video mit vereinfachtem Diagramm, Anschlussdarstellung auf ATB 1.05a (AVR Atmega32), Quellcode (in Eclipse C/C++ IDE) und dem finalen Effekt in Form eines Stargate-Lichteffekts.

Link zum Video auf Youtube

Schritt 6: Magisches Hercules-Modul mit Arduino und Arduino C++

Video mit einem vereinfachten Diagramm, einer Verbindungspräsentation auf dem Arduino 2560-Board, dem Quellcode in der Arduino IDE und dem endgültigen Effekt in Form eines Stargate-Lichteffekts.

Link zum Video auf Youtube

Schritt 7: Magisches Hercules-Modul mit PIC und C

Video mit vereinfachtem Diagramm, Anschlussdarstellung auf ATB 1.05a mit PIC-Shield (PIC24FJ64GA004 on Board), Quellcode in MPLAB und dem finalen Effekt in Form eines Stargate-Lichteffekts.

Link zum Video auf Youtube

Schritt 8: Magisches Hercules-Modul mit Raspberry Pi und Python

Video mit vereinfachtem Diagramm, Anschlussdarstellung auf Raspberry Pi 4, Quellcode in Python und dem finalen Effekt in Form eines Stargate-Lichteffekts.

Link zum Video auf Youtube

Schritt 9: Magisches Hercules-Modul mit ARM - STM32 Nucleo und C

Video mit vereinfachtem Diagramm, Anschlussdarstellung auf STM32 Nucleo-Board, Quellcode in STM32CubeIDE und dem endgültigen Effekt in Form eines Stargate-Lichteffekts.

Link zum Video auf Youtube

Schritt 10:

Bild
Bild

Ich denke, MH kann ein äußerst anfängerfreundliches Modul sein, unabhängig von der Plattform und der Sprache, die sie verwenden. Es genügt, das bekannte SPI-Protokoll zu kennen, und die Möglichkeit, gleich zu prüfen, ob der digitale LED-Streifen überhaupt funktioniert und welche Farbreihenfolge er hat, ist nur ein Plus.

Wenn Sie an meinem Projekt auf Kickstarter teilnehmen möchten, überprüfen Sie diesen Link:

My Magic Hercules Modulprojekt auf Kickstarter

Empfohlen: