„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė: 10 žingsnių
„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė: 10 žingsnių
Anonim
„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė
„Magic Hercules“- skaitmeninių šviesos diodų tvarkyklė

Greita apžvalga:

„Magic Hercules“modulis yra konverteris tarp gerai žinomo ir paprasto SPI į NZR protokolą. Modulio įėjimų tolerancija yra +3,3 V, todėl galite saugiai prijungti bet kokius mikrovaldiklius, veikiančius esant +3,3 V įtampai.

SPI protokolo naudojimas skaitmeniniams šviesos diodams valdyti yra novatoriškas požiūris tarp dabartinių sprendimų, tokių kaip paruoštos „Arduino“bibliotekos. Tačiau tai leidžia pereiti prie bet kurios platformos, nepriklausomai nuo mikrovaldiklių šeimos (pvz., ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) ir nepriklausomai nuo programavimo kalbos (pvz., C, Arduino C ++, Python ar kitos kuris palaiko SPI protokolą). Šis požiūris į skaitmeninių šviesos diodų programavimą yra labai patogus pradedantiesiems, nes jums tereikia išmanyti SPI protokolą.

MH modulis taip pat leidžia naudoti kelis skaitmeninių šviesos diodų juostų testavimo režimus, įskaitant spalvų tvarkos diode (RGB, BGR, RGBW ir kt.) Testavimą, visų juostų ar ekranų (iki 1024 šviesos diodų) testavimą.

1 žingsnis: Kodėl aš dirbu prie „Magic Hercules“modulio?

Kodėl aš dirbu prie stebuklingo Hercules modulio?
Kodėl aš dirbu prie stebuklingo Hercules modulio?

Aš ilgą laiką dirbu su skaitmeniniais šviesos diodais, tokiais kaip WS2812, WS2815 ar SK6812, kuriuos paprastai vadinu „Magic LED“.

Aš išbandžiau daugybę juostelių, žiedų ir ekranų (net savo), pagrįstų „Magic LED“(net ir naudojant RGBW tipą). Aš naudoju „Arduino“, „Nucleo“(su STM), „Raspberry Pi“ir savo plokštes su AVR mikrovaldikliais.

Nepriklausomai nuo platformos, rašyti stebuklingų šviesos diodų valdymo programą yra sunku (dėl to, kad reikia NZR protokolo programinės įrangos), nebent naudojate paruoštas bibliotekas, kurios palengvina, bet vis tiek nėra visiškai optimalios kodo naudojimo atžvilgiu, pertraukite atsakymus arba atminties panaudojimą ir veikia tik tam tikrose platformose (jų perkelti, pvz., iš Raspberry į AVR mikrovaldiklius, neįmanoma).

Dėl to, kad dažnai naudoju įvairias platformas, man reikėjo, kad programos kodas būtų kuo labiau suderinamas su „Arduino“, „Raspberry Pi“, ARM / STM (Nucleo) ar AVR - ypač kalbant apie apšvietimo efektus.

Ilgai dirbu prie „YouTube“kanalo ir esu parengęs ne vieną vadovą, kaip programuoti skaitmeninius diodus C kalba AVR mikrovaldikliams (bet kol kas tik lenkų kalba). Dažnai bendrauju su pradedančiaisiais, kurie kovoja su stebuklingų šviesos diodų programavimu. Žinoma, kai kurie, priklausomai nuo platformos, savo vienkartiniams projektams renkasi paruoštas bibliotekas. Tačiau daugelis žmonių ieško kitų sprendimų arba bando išmokti programavimo paslapčių ir aš esu viena iš jų.

2 žingsnis: SPI konvertavimas į NZR

SPI konvertavimas į NZR
SPI konvertavimas į NZR

Nusprendžiau paruošti modulį, kuris naudotojui padarys nešvarų darbą naudodamas NZR protokolą. Modulis, kuris veiks kaip SPI į NZR keitiklis ir kaip SPI, gali būti lengvai naudojamas bet kurioje platformoje. Aukščiau esančioje ekrano kopijoje parodytas SPI signalų konvertavimas į NZR protokolą „Magic Hercules“modulyje.

3 žingsnis: „Magic Hercules“modulis kaip skaitmeninis LED juostos testeris

„Magic Hercules“modulis kaip skaitmeninis LED juostos testeris
„Magic Hercules“modulis kaip skaitmeninis LED juostos testeris

Prijungiant skaitmeninius šviesos diodus prie skirtingų sistemų, reikia prisiminti apie tinkamą įvairių mikrovaldiklių įtampos toleranciją. Dauguma ARM mikrovaldiklių įvesties / išvesties kaiščių veikia pagal +3,3 V standartą, o AVR mikrovaldikliai - pagal TTL standartą. Dėl šios priežasties „Magic Hercules“modulio įvesties kaiščių tolerancija yra +3,3 V, todėl juos galima saugiai prijungti prie, pvz., „Raspberry P“ar bet kurio ARM pagrindu veikiančio mikrovaldiklio, maitinančio +3,3 V.

Kaip jau minėjau anksčiau, dažnai dirbu su įvairių tipų skaitmeniniais šviesos diodais. Priklausomai nuo gamintojo, atskiros šviesos diodų spalvos gali būti skirtingose padėtyse, pvz. RGB, BGR, GRB, RGBW, GRBW ir tt Neretai gamintojo dokumentuose minima RGB seka, tačiau iš tikrųjų atrodo kitaip. „Hercules“modulyje įdiegiau spalvų sekos testą, kad nekiltų problemų greitai išsiaiškinti, kaip parašyti tinkamą spalvų tvarkos programą. Keletas papildomų testerio funkcijų leidžia greitai patikrinti, ar skaitmeninė šviesos diodų juostelė apskritai veikia, ar visos kiekvienos šviesos diodo spalvos juostelėje (iki 1024 šviesos diodų!) Veikia tinkamai (nėra negyvų pikselių). Ir visa tai neprijungus mikrovaldiklio ir nerašant jokios programos.

4 žingsnis: „Magic Hercules“modulis - naujas universalus sprendimas skaitmeniniams šviesos diodams

„Magic Hercules“modulis - naujas universalus sprendimas skaitmeniniams šviesos diodams
„Magic Hercules“modulis - naujas universalus sprendimas skaitmeniniams šviesos diodams

Nemanau, kad dar buvo toks dalykas - valdyti skaitmeninius šviesos diodus naudojant paprastą ir įprastą SPI protokolą, kurį galima valdyti bet kurioje platformoje ar mikrovaldiklių šeimoje.

Žinoma, yra daug būdų, kaip valdyti skaitmeninius šviesos diodus, kai kurie yra optimalesni, o kiti - ne tokie optimalūs. „Magic Hercules“modulis yra dar vienas pasirinkimas ir man labai praktiškas. Manau, kad kam nors gali patikti šis neįprastas sprendimas. Neseniai pradėjau naudoti sutelktinio finansavimo platformą - „Kickstarter“, kurioje keliuose vaizdo įrašuose parengiau platesnį „Magic Hercules“modulio aprašymą, įskaitant tai, kaip lengva su juo dirbti „Arduino“, „Nucleo“(STM), „Raspberry Pi“, AVR ir PIC. mikrovaldikliai. Jei norite paremti „Magic Hercules“projektą, patikrinkite tai:

Mano „Magic Hercules“modulio projektas „Kickstarter“

Aš paruošiau programą C kalba - paprastas žvaigždžių vartų efektas, pagrįstas lentelės operacijomis ir nuosekliu buferio siuntimu pagrindinėje kilpoje. „Magic Hercules“modulio dėka galėjau lengvai perkelti šaltinio kodą į kitas kalbas ir platformas - patikrinkite kitus veiksmus - šaltinio kodus.

5 žingsnis: „Magic Hercules“modulis su „Atmega32“ir „C“

Vaizdo įrašas, kuriame yra supaprastinta schema, prijungimo prie ATB 1.05a (AVR Atmega32) pristatymas, šaltinio kodas („Eclipse C/C ++ IDE“) ir galutinis efektas žvaigždžių vartų šviesos pavidalu.

Nuoroda į vaizdo įrašą „YouTube“

6 žingsnis: „Magic Hercules“modulis su „Arduino“ir „Arduino C ++“

Vaizdo įrašas, kuriame yra supaprastinta schema, ryšio pristatymas „Arduino 2560“plokštėje, „Arduino IDE“šaltinio kodas ir galutinis efektas kaip žvaigždžių vartų šviesos efektas.

Nuoroda į vaizdo įrašą „YouTube“

7 žingsnis: „Magic Hercules“modulis su PIC ir C

Vaizdo įrašas, kuriame yra supaprastinta schema, jungties pristatymas ATB 1.05a su PIC ekranu (PIC24FJ64GA004 plokštėje), šaltinio kodas MPLAB ir galutinis efektas kaip žvaigždžių vartų šviesos efektas.

Nuoroda į vaizdo įrašą „YouTube“

8 žingsnis: „Magic Hercules“modulis su „Raspberry Pi“ir „Python“

Vaizdo įrašas, kuriame yra supaprastinta schema, ryšio pristatymas „Raspberry Pi 4“, šaltinio kodas „Python“ir galutinis efektas žvaigždžių vartų šviesos efekto pavidalu.

Nuoroda į vaizdo įrašą „YouTube“

9 žingsnis: „Magic Hercules“modulis su ARM - STM32 Nucleo ir C

Vaizdo įrašas, kuriame yra supaprastinta schema, jungties pristatymas „STM32 Nucleo“plokštėje, šaltinio kodas „STM32CubeIDE“ir galutinis efektas kaip žvaigždžių vartų šviesos efektas.

Nuoroda į vaizdo įrašą „YouTube“

10 veiksmas:

Vaizdas
Vaizdas

Manau, kad MH gali būti nepaprastai patogus pradedantiesiems modulis, nepriklausomai nuo naudojamos platformos ir kalbos. Pakanka žinoti gerai žinomą SPI protokolą, o galimybė pradėti tikrinti, ar skaitmeninė LED juostelė apskritai veikia ir kokia spalvų seka yra tik pliusas.

Jei norite dalyvauti mano projekte „Kickstarter“- patikrinkite šią nuorodą:

Mano „Magic Hercules“modulio projektas „Kickstarter“

Rekomenduojamas: