Sommario:

Magic Hercules - Driver per LED digitali: 10 passaggi
Magic Hercules - Driver per LED digitali: 10 passaggi

Video: Magic Hercules - Driver per LED digitali: 10 passaggi

Video: Magic Hercules - Driver per LED digitali: 10 passaggi
Video: Maranza cerca di prendermi la moto 2024, Luglio
Anonim
Magic Hercules - Driver per LED digitali
Magic Hercules - Driver per LED digitali

Veloce panoramica:

Il modulo Magic Hercules è un convertitore tra il noto e semplice SPI al protocollo NZR. Gli ingressi del modulo hanno una tolleranza di +3,3 V, quindi è possibile collegare in sicurezza qualsiasi microcontrollore funzionante a tensione di +3,3 V.

L'uso del protocollo SPI per controllare i LED digitali è un approccio innovativo tra le soluzioni attuali, come le librerie già pronte per Arduino. Tuttavia, consente il passaggio a qualsiasi piattaforma indipendentemente dalla famiglia di microcontrollori (come ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) e indipendentemente dal linguaggio di programmazione (es. C, Arduino C++, Python o altro che supporta il protocollo SPI). Questo approccio alla programmazione dei LED digitali è estremamente adatto ai principianti poiché tutto ciò di cui hai bisogno è la conoscenza del protocollo SPI.

Il modulo MH consente inoltre diverse modalità di test delle strisce LED digitali, incluso il test dell'ordine dei colori nel diodo (RGB, BGR, RGBW, ecc.), il test dell'intera striscia o display (fino a 1024 LED).

Passaggio 1: perché sto lavorando al modulo Magic Hercules?

Perché sto lavorando al modulo Magic Hercules?
Perché sto lavorando al modulo Magic Hercules?

Lavoro da molto tempo con LED digitali come WS2812, WS2815 o SK6812, che di solito chiamo Magic LED.

Ho testato molte strisce, anelli e display (anche i miei) basati su Magic LED (anche di tipo RGBW). Ho usato Arduino, Nucleo (con STM), Raspberry Pi e le mie schede con microcontrollori AVR.

Indipendentemente dalla piattaforma, scrivere un programma per controllare i magic LED è difficile (a causa della necessità del software del protocollo NZR), a meno che non si utilizzino librerie già pronte che lo rendano facile, ma non ancora del tutto ottimale in termini di utilizzo del codice, interrompere risposte, o l'utilizzo della memoria, e funzionano solo su piattaforme specifiche (portarli ad esempio da Raspberry a microcontrollori AVR è impossibile).

A causa del fatto che utilizzo spesso varie piattaforme, avevo bisogno che il codice del programma fosse il più compatibile possibile con Arduino, Raspberry Pi, ARM / STM (Nucleo) o AVR, specialmente quando si tratta di effetti di luce.

Lavoro da tempo sul canale youtube e ho preparato più di una guida alla programmazione di diodi digitali in linguaggio C per microcontrollori AVR (ma per ora solo in polacco). Ho spesso contatti con principianti che hanno difficoltà a programmare i LED magici. Naturalmente, alcuni, a seconda della piattaforma, scelgono librerie pronte per i loro progetti una tantum. Tuttavia, molte persone cercano altre soluzioni o cercano di apprendere i segreti della programmazione e io sono uno di loro.

Passaggio 2: conversione da SPI a NZR

Conversione da SPI a NZR
Conversione da SPI a NZR

Ho deciso di preparare un modulo che farà il lavoro sporco per l'utente utilizzando il protocollo NZR. Il modulo che fungerà da convertitore da SPI a NZR e proprio come SPI, può essere utilizzato con facilità su qualsiasi piattaforma. Lo screenshot qui sopra mostra la conversione dei segnali SPI al protocollo NZR nel modulo Magic Hercules.

Passaggio 3: modulo Magic Hercules come tester digitale per strisce LED

Modulo Magic Hercules come tester digitale per strisce LED
Modulo Magic Hercules come tester digitale per strisce LED

Quando si collegano LED digitali a sistemi diversi, è necessario ricordare la tolleranza di tensione appropriata per diversi microcontrollori. La maggior parte dei pin I/O dei microcontrollori ARM funzionano nello standard +3,3 V, mentre i microcontrollori AVR funzionano nello standard TTL. Per questo motivo, i pin di ingresso del modulo Magic Hercules hanno una tolleranza di +3,3 V, quindi possono essere collegati in sicurezza, ad esempio, a un Raspberry P o a qualsiasi microcontrollore basato su ARM alimentato a +3,3 V.

Come ho detto prima, lavoro spesso con diversi tipi di LED digitali. A seconda del produttore, i singoli colori nei LED possono trovarsi in posizioni diverse, ad es. RGB, BGR, GRB, RGBW, GRBW, ecc. Non è raro che la documentazione del produttore menzioni la sequenza RGB, ma in realtà sembra diversa. Ho dotato il modulo Hercules di un test della sequenza dei colori in modo che non ci siano problemi a capire rapidamente come scrivere un programma per l'ordine corretto dei colori. Diverse funzioni aggiuntive del tester consentono di verificare rapidamente se la striscia LED digitale funziona, se tutti i colori di ciascun LED lungo la striscia (fino a 1024 LED!) Funzionano correttamente (nessun pixel morto). E tutto questo senza collegare un microcontrollore e scrivere alcun programma.

Fase 4: Modulo Magic Hercules - Nuova soluzione universale per LED digitali

Modulo Magic Hercules - Nuova soluzione universale per LED digitali
Modulo Magic Hercules - Nuova soluzione universale per LED digitali

Non credo che esistesse ancora una cosa del genere, controllare i LED digitali utilizzando un protocollo SPI semplice e comune, che può essere utilizzato su qualsiasi piattaforma o famiglia di microcontrollori.

Naturalmente, ci sono molti modi per controllare i LED digitali, alcuni sono più ottimali e altri meno. Il modulo Magic Hercules è un'altra opzione e molto pratico per me. Penso che a qualcuno possa piacere questa soluzione insolita. Di recente sono decollato sulla piattaforma di crowdfunding - kickstarter, dove ho preparato una descrizione più ampia del modulo Magic Hercules in diversi video, incluso quanto sia facile lavorarci su Arduino, Nucleo (STM), Raspberry Pi e su AVR e PIC microcontrollori. Se vuoi sostenere il progetto Magic Hercules, dai un'occhiata a:

Il mio progetto del modulo Magic Hercules su kickstarter

Ho preparato un programma in linguaggio C - un semplice effetto stargate, che si basa su operazioni di tabella e invio sequenziale del buffer nel ciclo principale. Grazie al modulo Magic Hercules, sono stato in grado di trasferire facilmente il codice sorgente su altri linguaggi e piattaforme - controlla i passaggi successivi - codici sorgente.

Passaggio 5: modulo Magic Hercules con Atmega32 e C

Video contenente un diagramma semplificato, presentazione della connessione su ATB 1.05a (AVR Atmega32), codice sorgente (in Eclipse C/C++ IDE) e l'effetto finale sotto forma di un effetto di luce stargate.

Link al video su youtube

Passaggio 6: modulo Magic Hercules con Arduino e Arduino C++

Video contenente uno schema semplificato, presentazione della connessione su scheda Arduino 2560, codice sorgente in Arduino IDE e l'effetto finale sotto forma di effetto luce stargate.

Link al video su youtube

Passaggio 7: Modulo Magic Hercules con PIC e C

Video contenente uno schema semplificato, presentazione del collegamento su ATB 1.05a con schermo PIC (PIC24FJ64GA004 a bordo), codice sorgente in MPLAB e l'effetto finale sotto forma di effetto luce stargate.

Link al video su youtube

Passaggio 8: modulo Magic Hercules con Raspberry Pi e Python

Video contenente un diagramma semplificato, presentazione della connessione su Raspberry Pi 4, codice sorgente in Python e l'effetto finale sotto forma di effetto luce stargate.

Link al video su youtube

Passaggio 9: modulo Magic Hercules con ARM - STM32 Nucleo e C

Video contenente uno schema semplificato, presentazione della connessione su scheda STM32 Nucleo, codice sorgente in STM32CubeIDE e l'effetto finale sotto forma di effetto luce stargate.

Link al video su youtube

Passaggio 10:

Immagine
Immagine

Penso che MH possa essere un modulo estremamente adatto ai principianti, indipendentemente dalla piattaforma e dalla lingua che usano. È sufficiente conoscere il noto protocollo SPI e la possibilità di iniziare a verificare se la striscia LED digitale funziona e quale sequenza di colori ha è solo un vantaggio.

Se vuoi prendere parte al mio progetto su kickstarter, controlla questo link:

Il mio progetto del modulo Magic Hercules su kickstarter

Consigliato: