Sisukord:

Magic Hercules - digitaalsete LED -ide draiver: 10 sammu
Magic Hercules - digitaalsete LED -ide draiver: 10 sammu

Video: Magic Hercules - digitaalsete LED -ide draiver: 10 sammu

Video: Magic Hercules - digitaalsete LED -ide draiver: 10 sammu
Video: Familie Ritter - Norman und Christopher fahren Moped 2024, Juuli
Anonim
Magic Hercules - digitaalsete LED -ide draiver
Magic Hercules - digitaalsete LED -ide draiver

Kiire ülevaade:

Magic Hercules moodul on muundur tuntud ja lihtsa SPI ning NZR protokolli vahel. Mooduli sisendite tolerants on +3,3 V, nii et saate turvaliselt ühendada kõik mikrokontrollerid, mis töötavad pingel +3,3 V.

SPI-protokolli kasutamine digitaalsete LED-ide juhtimiseks on uuenduslik lähenemine praeguste lahenduste hulgas, näiteks Arduino jaoks valmis raamatukogud. Siiski võimaldab see lülituda mis tahes platvormile sõltumata mikrokontrollerite perekonnast (näiteks ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) ja olenemata programmeerimiskeelest (nt C, Arduino C ++, Python või mõni muu) mis toetab SPI protokolli). See lähenemine digitaalsete valgusdioodide programmeerimisele on äärmiselt algajasõbralik, kuna vajate vaid teadmisi SPI-protokollist.

MH -moodul võimaldab ka mitut digitaalsete LED -ribade testimisrežiimi, sealhulgas dioodi värvijärjestuse (RGB, BGR, RGBW jne) testimist, kogu ribade või kuvarite testimist (kuni 1024 LED -i).

Samm: miks ma töötan Magic Hercules'i mooduli kallal?

Miks ma töötan Magic Hercules'i mooduli kallal?
Miks ma töötan Magic Hercules'i mooduli kallal?

Olen pikka aega töötanud selliste digitaalsete LED -idega nagu WS2812, WS2815 või SK6812, mida tavaliselt nimetan Magic LED -iks.

Testisin paljusid ribasid, rõngaid ja ekraane (isegi minu enda) Magic LED -i põhjal (isegi RGBW -tüüpi). Kasutasin Arduino, Nucleo (koos STM -iga), Raspberry Pi ja enda plaate AVR -mikrokontrolleritega.

Olenemata platvormist on võluküünalde juhtimiseks programmi kirjutamine keeruline (NZR-protokolli tarkvara vajaduse tõttu), välja arvatud juhul, kui kasutate valmis teeke, mis muudavad koodi kasutamise lihtsaks, kuid siiski mitte optimaalseks, katkestage vastuseid või mälu kasutamist ja töötavad ainult teatud platvormidel (nende teisaldamine nt Raspberryst AVR -i mikrokontrolleritesse on võimatu).

Kuna kasutan sageli erinevaid platvorme, tekkis mul vajadus, et programmi kood oleks võimalikult ühilduv Arduino, Raspberry Pi, ARM / STM (Nucleo) või AVR -iga - eriti valgusefektide osas.

Olen youtube'i kanaliga pikalt tegelenud ja AVR -i mikrokontrolleritele (kuid siiani ainult poola keeles) koostanud rohkem kui ühe juhendi digitaalsete dioodide programmeerimiseks C -keeles. Mul on sageli kokkupuuteid algajatega, kes võitlevad maagiliste LED -ide programmeerimisega. Muidugi valivad mõned olenevalt platvormist oma ühekordsete projektide jaoks valmis raamatukogud. Paljud aga otsivad muid lahendusi või proovivad õppida programmeerimise saladusi ja mina olen üks neist.

2. samm: SPI teisendamine NZR -i

SPI teisendamine NZR -i
SPI teisendamine NZR -i

Otsustasin valmistada mooduli, mis teeb kasutaja jaoks musta töö NZR -protokolli abil. Moodulit, mis toimib SPI -NZR muundurina ja nagu SPI -d, saab hõlpsasti kasutada igal platvormil. Ülaltoodud ekraanipilt näitab SPI -signaalide teisendamist NZR -protokolliks Magic Hercules moodulis.

3. samm: Magic Hercules moodul digitaalse LED -riba testerina

Magic Hercules moodul digitaalse LED -riba testerina
Magic Hercules moodul digitaalse LED -riba testerina

Digitaalsete LED -ide ühendamisel erinevate süsteemidega tuleks meeles pidada erinevate mikrokontrollerite jaoks sobivat pingetaluvust. Enamik ARM -i mikrokontrollerite I / O -kontakte töötab +3,3 V standardis, AVR -i mikrokontrollerid aga TTL -standardis. Seetõttu on Magic Hercules mooduli sisendpistikute tolerants +3,3 V, seega saab neid ohutult ühendada nt Raspberry P või mis tahes ARM -põhise +3,3 V toitega mikrokontrolleriga.

Nagu ma varem mainisin, töötan sageli erinevat tüüpi digitaalsete LED -idega. Olenevalt tootjast võivad valgusdioodide üksikud värvid olla erinevates asendites, nt. RGB, BGR, GRB, RGBW, GRBW jne. Pole haruldane, et tootja dokumentatsioonis mainitakse RGB järjestust, kuid see näeb tegelikult välja teistsugune. Olen varustanud Herculese mooduli värvijärjestuse testiga, nii et ei tekiks probleeme õige nuputamisega, kuidas kirjutada programm õigeks värvikorralduseks. Mitmed testri lisafunktsioonid võimaldavad teil kiiresti kontrollida, kas digitaalne LED -riba üldse töötab, kas kõik värvid igas ribas (kuni 1024 LED -i!) Töötavad õigesti (surnud piksleid pole). Ja seda kõike ilma mikrokontrollerit ühendamata ja ühtegi programmi kirjutamata.

4. samm: Magic Hercules moodul - uus universaalne lahendus digitaalsete LED -ide jaoks

Magic Hercules moodul - uus universaalne lahendus digitaalsetele LED -idele
Magic Hercules moodul - uus universaalne lahendus digitaalsetele LED -idele

Ma arvan, et sellist asja veel ei olnud, juhtida digitaalseid LED -e, kasutades lihtsat ja tavalist SPI -protokolli, mida saab kasutada mis tahes platvormil või mikrokontrollerite perekonnal.

Loomulikult on digitaalsete LED -ide juhtimiseks palju võimalusi, mõned on optimaalsemad ja teised vähem optimaalsed. Magic Hercules moodul on teine võimalus ja minu jaoks väga praktiline. Ma arvan, et see ebatavaline lahendus võib kellelegi meeldida. Alustasin hiljuti ühisrahastusplatvormi - kickstarterit, kus koostasin mitmetes videotes Magic Hercules mooduli laiema kirjelduse, sealhulgas selle, kui lihtne on sellega Arduino, Nucleo (STM), Raspberry Pi ning AVR ja PIC -ga töötada mikrokontrollerid. Kui soovite Magic Hercules'i projekti toetada, vaadake seda:

Minu Magic Hercules mooduliprojekt kickstarteris

Valmistasin ette C -keeles programmi - lihtsa tähevärava efekti, mis põhineb tabeli toimingutel ja puhvri järjestikusel saatmisel põhiahelas. Tänu Magic Hercules moodulile sain lähtekoodi hõlpsasti teistesse keeltesse ja platvormidele üle kanda - kontrollige järgmisi samme - lähtekoode.

Samm: Magic Hercules moodul koos Atmega32 ja C -ga

Video, mis sisaldab lihtsustatud skeemi, ühenduse esitlust ATB 1.05a (AVR Atmega32), lähtekoodi (Eclipse C/C ++ IDE) ja lõppefekti tähevärava valgusefekti kujul.

Link videole youtube'is

6. samm: Magic Hercules moodul koos Arduino ja Arduino C ++ -ga

Video, mis sisaldab lihtsustatud skeemi, ühenduse esitlust Arduino 2560 plaadil, lähtekoodi Arduino IDE -s ja lõppefekti tähevärava valgusefekti kujul.

Link videole youtube'is

Samm 7: Magic Hercules moodul PIC ja C abil

Video, mis sisaldab lihtsustatud skeemi, ühenduse esitlus ATB 1.05a -l koos PIC -kilbiga (PIC24FJ64GA004 pardal), lähtekood MPLAB -is ja lõppefekt tähevärava valgusefekti kujul.

Link videole youtube'is

Samm 8: Magic Hercules moodul Raspberry Pi ja Pythoniga

Video, mis sisaldab lihtsustatud skeemi, ühenduse esitlust Raspberry Pi 4 kohta, lähtekoodi Pythonis ja lõppefekti tähevärava valgusefekti kujul.

Link videole youtube'is

9. samm: Magic Hercules moodul ARM -iga - STM32 Nucleo ja C

Video, mis sisaldab lihtsustatud skeemi, ühenduse esitlust STM32 Nucleo plaadil, lähtekoodi STM32CubeIDE -s ja lõppefekti tähevärava valgusefektina.

Link videole youtube'is

10. samm:

Pilt
Pilt

Ma arvan, et MH võib olla äärmiselt algajasõbralik moodul, olenemata kasutatavast platvormist ja keelest. Piisab tuntud SPI protokolli tundmisest ning võimalus hakata kontrollima, kas digitaalne LED-riba üldse töötab ja milline värvijärjestus sellel on, on ainult pluss.

Kui soovite minu projektis kickstarteris osaleda - vaadake seda linki:

Minu Magic Hercules mooduliprojekt kickstarteris

Soovitan: