Sommario:
- Passaggio 1: perché sto lavorando al modulo Magic Hercules?
- Passaggio 2: conversione da SPI a NZR
- Passaggio 3: modulo Magic Hercules come tester digitale per strisce LED
- Fase 4: Modulo Magic Hercules - Nuova soluzione universale per LED digitali
- Passaggio 5: modulo Magic Hercules con Atmega32 e C
- Passaggio 6: modulo Magic Hercules con Arduino e Arduino C++
- Passaggio 7: Modulo Magic Hercules con PIC e C
- Passaggio 8: modulo Magic Hercules con Raspberry Pi e Python
- Passaggio 9: modulo Magic Hercules con ARM - STM32 Nucleo e C
- Passaggio 10:
Video: Magic Hercules - Driver per LED digitali: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
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?
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
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
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
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:
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:
Macchina per il voto biometrico basata su impronte digitali con Arduino: 4 passaggi (con immagini)
Macchina per il voto biometrico basata su impronte digitali che utilizza Arduino: Siamo tutti a conoscenza della macchina per il voto elettronico esistente in cui l'utente deve premere un pulsante per esprimere il voto. Ma queste macchine sono state criticate fin dall'inizio per la tempra. Quindi il governo sta pianificando di introdurre un rilevamento delle impronte digitali
Distribuzione dell'energia per slot machine digitali: 9 passaggi (con immagini)
Distribuzione dell'energia per slot machine digitale: ti sei mai costruito un layout di slot car di grandi dimensioni e hai scoperto che le auto non sembrano avere le stesse prestazioni? Oppure odi quando le tue gare vengono interrotte dalle macchine che si fermano a causa di cattive articolazioni? Questo Instructable ti mostrerà come ge
Cassetta di sicurezza per impronte digitali: 4 passaggi
Cassetta di sicurezza per impronte digitali: sei una persona smemorata? Ti dimentichi spesso di portare le chiavi? Se la risposta alla domanda è sì. Quindi dovresti creare la tua cassetta di sicurezza delle impronte digitali !!! L'impronta digitale di te stesso è l'unica cosa al mondo. Così non dovrai
Batteria esterna agli ioni di litio per fotocamere digitali: 12 passaggi (con immagini)
Batteria esterna agli ioni di litio per fotocamere digitali: una batteria esterna è utile per scattare foto e video extra poiché ha una capacità maggiore rispetto alle batterie LiPo fornite con la fotocamera. Possono anche sostituire le batterie difficili da trovare nelle telecamere di backup, che a volte potresti usare
Controller WS2812 per strisce LED digitali a 3 canali: 9 passaggi (con immagini)
Controller WS2812 per strisce LED digitali a 3 canali: ho sempre desiderato un modo economico per controllare più strisce LED digitali