Cuprins:

Magic Hercules - Driver pentru LED-uri digitale: 10 pași
Magic Hercules - Driver pentru LED-uri digitale: 10 pași

Video: Magic Hercules - Driver pentru LED-uri digitale: 10 pași

Video: Magic Hercules - Driver pentru LED-uri digitale: 10 pași
Video: 32 de combinații secrete pe tastatura ta 2024, Noiembrie
Anonim
Magic Hercules - Driver pentru LED-uri digitale
Magic Hercules - Driver pentru LED-uri digitale

Prezentare rapidă:

Modulul Magic Hercules este un convertor între cunoscutul și simplu SPI la protocolul NZR. Intrările modulului au o toleranță de +3,3 V, astfel încât să puteți conecta în siguranță orice microcontrolere care funcționează la o tensiune de +3,3 V.

Utilizarea protocolului SPI pentru controlul LED-urilor digitale este o abordare inovatoare printre soluțiile actuale, cum ar fi bibliotecile gata făcute pentru Arduino. Cu toate acestea, permite trecerea la orice platformă, indiferent de familia microcontrolerelor (cum ar fi ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) și indiferent de limbajul de programare (de exemplu, C, Arduino C ++, Python sau altul care acceptă protocolul SPI). Această abordare a programării LED-urilor digitale este extrem de prietenoasă pentru începători, deoarece tot ce aveți nevoie este cunoașterea protocolului SPI.

Modulul MH permite, de asemenea, mai multe moduri de testare a benzilor digitale LED, inclusiv testarea ordinii culorilor în diodă (RGB, BGR, RGBW etc.), testarea întregii benzi sau afișaje (până la 1024 LED-uri).

Pasul 1: De ce lucrez la modulul Magic Hercules?

De ce lucrez la modulul Magic Hercules?
De ce lucrez la modulul Magic Hercules?

Lucrez de mult timp cu LED-uri digitale precum WS2812, WS2815 sau SK6812, pe care le numesc de obicei Magic LED.

Am testat multe benzi, inele și afișaje (chiar și ale mele) bazate pe Magic LED (chiar și cu tip RGBW). Am folosit Arduino, Nucleo (cu STM), Raspberry Pi și propriile mele plăci cu microcontrolere AVR.

Indiferent de platformă, scrierea unui program pentru controlul LED-urilor magice este dificilă (datorită necesității software-ului de protocol NZR), cu excepția cazului în care utilizați biblioteci gata făcute care îl fac ușor, dar totuși nu sunt pe deplin optime în ceea ce privește utilizarea codului, întrerupeți răspunsurile sau utilizarea memoriei și funcționează numai pe platforme specifice (portarea lor spre, de exemplu, de la Raspberry la microcontrolerele AVR este imposibilă).

Datorită faptului că folosesc adesea diverse platforme, am avut nevoie ca codul programului să fie cât mai compatibil cu Arduino, Raspberry Pi, ARM / STM (Nucleo) sau AVR - mai ales când vine vorba de efecte de iluminare.

Lucrez de mult timp la canalul youtube și am pregătit mai multe ghiduri despre programarea diodelor digitale în limbajul C pentru microcontrolerele AVR (dar până acum doar în poloneză deocamdată). Am adesea contact cu începători care se luptă cu programarea LED-urilor magice. Desigur, unii, în funcție de platformă, aleg biblioteci gata pentru proiectele lor unice. Cu toate acestea, mulți oameni caută alte soluții sau încearcă să învețe secretele programării și eu sunt unul dintre ele.

Pasul 2: conversia SPI în NZR

Conversia SPI în NZR
Conversia SPI în NZR

Am decis să pregătesc un modul care va face treaba murdară pentru utilizator folosind protocolul NZR. Modulul care va acționa ca convertor SPI în NZR și la fel ca SPI, poate fi utilizat cu ușurință pe orice platformă. Captura de ecran de mai sus arată conversia semnalelor SPI în protocolul NZR în modulul Magic Hercules.

Pasul 3: Modulul Magic Hercules ca tester digital cu benzi LED

Modulul Magic Hercules ca tester digital cu benzi LED
Modulul Magic Hercules ca tester digital cu benzi LED

Când conectați LED-uri digitale la diferite sisteme, ar trebui să vă amintiți despre toleranța de tensiune adecvată pentru diferite microcontrolere. Majoritatea pinilor I / O ai microcontrolerelor ARM funcționează în standardul +3,3 V, în timp ce microcontrolerele AVR funcționează în standardul TTL. Datorită acestui fapt, pinii de intrare ai modulului Magic Hercules au o toleranță de +3,3 V, deci pot fi conectați în siguranță, de exemplu, la un Raspberry P sau la orice microcontroler bazat pe ARM alimentat +3,3 V.

După cum am menționat anterior, lucrez adesea cu diferite tipuri de LED-uri digitale. În funcție de producător, culorile individuale ale LED-urilor pot fi în poziții diferite, de ex. RGB, BGR, GRB, RGBW, GRBW etc. Nu este neobișnuit ca documentația producătorului să menționeze secvența RGB, dar de fapt arată diferit. Am echipat modulul Hercules cu un test de secvență a culorilor, astfel încât să nu existe nicio problemă în a afla rapid cum să scriu un program pentru ordinea corectă a culorilor. Mai multe funcții suplimentare ale testerului vă permit să verificați rapid dacă banda LED digitală funcționează deloc, dacă toate culorile fiecărui LED de pe bandă (până la 1024 LED-uri!) Funcționează corect (fără pixeli morți). Și toate acestea fără a conecta un microcontroler și a scrie niciun program.

Pasul 4: Modulul Magic Hercules - Soluție universală nouă pentru LED-uri digitale

Modulul Magic Hercules - Soluție universală nouă pentru LED-uri digitale
Modulul Magic Hercules - Soluție universală nouă pentru LED-uri digitale

Nu cred că a existat încă așa ceva, pentru a controla LED-urile digitale folosind un protocol SPI simplu și comun, care poate fi operat pe orice platformă sau familie de microcontrolere.

Desigur, există multe modalități de a controla LED-urile digitale, unele sunt mai optime, iar altele sunt mai puțin optime. Modulul Magic Hercules este o altă opțiune și foarte practic pentru mine. Cred că cineva poate dori această soluție neobișnuită. Recent am plecat pe platforma de crowdfunding - kickstarter, unde am pregătit o descriere mai largă a modulului Magic Hercules în mai multe videoclipuri, inclusiv cât de ușor este să lucrezi cu el pe Arduino, Nucleo (STM), Raspberry Pi și pe AVR și PIC microcontrolere. Dacă doriți să susțineți proiectul Magic Hercules, verificați acest lucru:

Proiectul modulului My Magic Hercules pe kickstarter

Am pregătit un program în limbaj C - un simplu efect stargate, care se bazează pe operații de masă și trimiterea secvențială a bufferului în bucla principală. Datorită modulului Magic Hercules, am putut transfera cu ușurință codul sursă în alte limbi și platforme - verificați pașii următori - coduri sursă.

Pasul 5: Modulul Magic Hercules cu Atmega32 și C

Video care conține o diagramă simplificată, prezentarea conexiunii pe ATB 1.05a (AVR Atmega32), cod sursă (în Eclipse C / C ++ IDE) și efectul final sub forma unui efect de lumină stargate.

Link către video de pe YouTube

Pasul 6: Modulul Magic Hercules cu Arduino și Arduino C ++

Video care conține o diagramă simplificată, prezentarea conexiunii pe placa Arduino 2560, codul sursă în Arduino IDE și efectul final sub forma unui efect de lumină stargate.

Link către video de pe YouTube

Pasul 7: Modulul Magic Hercules cu PIC și C

Video care conține o diagramă simplificată, prezentarea conexiunii pe ATB 1.05a cu ecran PIC (PIC24FJ64GA004 la bord), cod sursă în MPLAB și efectul final sub forma unui efect de lumină stargate.

Link către video de pe YouTube

Pasul 8: Modulul Magic Hercules cu Raspberry Pi și Python

Video care conține o diagramă simplificată, prezentarea conexiunii pe Raspberry Pi 4, codul sursă în Python și efectul final sub forma unui efect de lumină stargate.

Link către video de pe YouTube

Pasul 9: Modulul Magic Hercules cu ARM - STM32 Nucleo și C

Video care conține o diagramă simplificată, prezentarea conexiunii pe placa STM32 Nucleo, codul sursă în STM32CubeIDE și efectul final sub forma unui efect de lumină stargate.

Link către video de pe YouTube

Pasul 10:

Imagine
Imagine

Cred că MH poate fi un modul extrem de prietenos pentru începători, indiferent de platformă și limbaj pe care îl folosesc. Este suficient să cunoașteți bine-cunoscutul protocol SPI și posibilitatea de a începe să verificați dacă banda LED digitală funcționează deloc și ce secvență de culori are este doar un plus.

Dacă doriți să participați la proiectul meu pe kickstarter - verificați acest link:

Proiectul modulului My Magic Hercules pe kickstarter

Recomandat: