Indholdsfortegnelse:

Magic Hercules - Driver til digitale lysdioder: 10 trin
Magic Hercules - Driver til digitale lysdioder: 10 trin

Video: Magic Hercules - Driver til digitale lysdioder: 10 trin

Video: Magic Hercules - Driver til digitale lysdioder: 10 trin
Video: red blue led light in #dio #trending #ledlights 2024, November
Anonim
Magic Hercules - Driver til digitale lysdioder
Magic Hercules - Driver til digitale lysdioder

Hurtigt overblik:

Magic Hercules-modulet er en konverter mellem det velkendte og enkle SPI til NZR-protokollen. Modulindgange har en tolerance på +3,3 V, så du kan sikkert tilslutte alle mikrokontrollere, der arbejder ved en spænding på +3,3 V.

Brugen af SPI-protokollen til at styre digitale lysdioder er en innovativ tilgang blandt nuværende løsninger, såsom færdige biblioteker til Arduino. Det giver dog mulighed for at skifte til enhver platform uanset mikrokontrollerfamilien (f.eks. ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) og uanset programmeringssprog (f.eks. C, Arduino C ++, Python eller en anden der understøtter SPI -protokollen). Denne tilgang til programmering af digitale lysdioder er ekstremt nybegyndervenlig, da alt du behøver er kendskab til SPI-protokollen.

MH -modulet tillader også flere måder at teste digitale LED -strimler på, herunder test af farveorden i dioden (RGB, BGR, RGBW osv.), Testning af hele strimler eller skærme (op til 1024 lysdioder).

Trin 1: Hvorfor arbejder jeg på Magic Hercules -modulet?

Hvorfor arbejder jeg på Magic Hercules -modulet?
Hvorfor arbejder jeg på Magic Hercules -modulet?

Jeg har arbejdet med digitale lysdioder som WS2812, WS2815 eller SK6812 i lang tid, som jeg normalt kalder Magic LED.

Jeg testede mange strimler, ringe og displays (selv mine egne) baseret på Magic LED (selv med RGBW -type). Jeg brugte Arduino, Nucleo (med STM), Raspberry Pi og mine egne tavler med AVR -mikrokontroller.

Uanset platform er det svært at skrive et program til styring af magiske lysdioder (på grund af behovet for NZR-protokolsoftware), medmindre du bruger færdige biblioteker, der gør det let, men stadig ikke helt optimalt med hensyn til kodebrug, afbryd svar eller hukommelsesudnyttelse, og fungerer kun på bestemte platforme (det er umuligt at overføre dem til f.eks. fra hindbær til AVR -mikrokontroller).

På grund af at jeg ofte bruger forskellige platforme, havde jeg behov for, at programkoden var så kompatibel som muligt med Arduino, Raspberry Pi, ARM / STM (Nucleo) eller AVR - især når det kommer til lyseffekter.

Jeg har arbejdet på youtube -kanalen i lang tid, og jeg har udarbejdet mere end en guide til programmering af digitale dioder på C -sprog til AVR -mikrokontrollere (men indtil videre kun på polsk for nu). Jeg har ofte kontakt med begyndere, der kæmper med programmering af magiske lysdioder. Selvfølgelig vælger nogle, afhængigt af platformen, klare biblioteker til deres engangsprojekter. Mange mennesker leder imidlertid efter andre løsninger eller forsøger at lære hemmelighederne ved programmering, og jeg er en af dem.

Trin 2: SPI til NZR -konvertering

Konvertering af SPI til NZR
Konvertering af SPI til NZR

Jeg besluttede at forberede et modul, der vil gøre det beskidte arbejde for brugeren ved hjælp af NZR -protokollen. Det modul, der fungerer som SPI til NZR -konverter og ligesom SPI, kan let bruges på enhver platform. Skærmbilledet ovenfor viser konvertering af SPI -signaler til NZR -protokol i Magic Hercules -modulet.

Trin 3: Magic Hercules modul som digital LED Strip Tester

Magic Hercules modul som digital LED Strip Tester
Magic Hercules modul som digital LED Strip Tester

Når digitale LED'er tilsluttes forskellige systemer, skal man huske den passende spændingstolerance for forskellige mikrokontroller. De fleste af I / O -benene på ARM -mikrokontroller fungerer i +3.3 V -standarden, mens AVR -mikrokontrollerne arbejder i TTL -standarden. På grund af dette har inputstifterne på Magic Hercules -modulet en tolerance på +3,3 V, så de sikkert kan tilsluttes f.eks. En Raspberry P eller en hvilken som helst ARM -baseret mikrokontroller drevet +3,3 V.

Som jeg nævnte før, arbejder jeg ofte med forskellige typer digitale lysdioder. Afhængigt af producenten kan individuelle farver i lysdioderne være i forskellige positioner, f.eks. RGB, BGR, GRB, RGBW, GRBW osv. Det er ikke ualmindeligt, at producentens dokumentation nævner RGB -sekvensen, men det ser faktisk anderledes ud. Jeg har udstyret Hercules -modulet med en farvesekvens -test, så der ikke er noget problem med hurtigt at finde ud af, hvordan man skriver et program til den korrekte farveorden. Flere ekstra funktioner på testeren giver dig mulighed for hurtigt at kontrollere, om den digitale LED -strip overhovedet fungerer, om alle farverne i hver LED på tværs af strimlen (op til 1024 LED'er!) Virker korrekt (ingen døde pixels). Og alt dette uden at tilslutte en mikrokontroller og skrive noget program.

Trin 4: Magic Hercules -modul - Ny universel løsning til digitale lysdioder

Magic Hercules Module - Ny universel løsning til digitale lysdioder
Magic Hercules Module - Ny universel løsning til digitale lysdioder

Jeg tror ikke, der var sådan noget endnu, at styre digitale lysdioder ved hjælp af en enkel og fælles SPI -protokol, som kan betjenes på enhver platform eller familie af mikrokontrollere.

Selvfølgelig er der mange måder at styre digitale lysdioder på, nogle er mere optimale og andre er mindre optimale. Magic Hercules -modulet er en anden mulighed og meget praktisk for mig. Jeg tror, at nogen kan lide denne usædvanlige løsning. Jeg tog for nylig fart på crowdfunding -platformen - kickstarter, hvor jeg udarbejdede en bredere beskrivelse af Magic Hercules -modulet i flere videoer, herunder hvor let det er at arbejde med det på Arduino, Nucleo (STM), Raspberry Pi og på AVR og PIC mikrokontrollere. Hvis du gerne vil støtte Magic Hercules -projektet, kan du tjekke dette ud:

My Magic Hercules modulprojekt på kickstarter

Jeg forberedte et program i C -sprog - en simpel stargate -effekt, som er baseret på bordoperationer og sekventiel afsendelse af bufferen i hovedsløjfen. Takket være Magic Hercules -modulet kunne jeg let overføre kildekoden til andre sprog og platforme - tjek de næste trin - kildekoder.

Trin 5: Magic Hercules -modul med Atmega32 og C

Video, der indeholder et forenklet diagram, forbindelsespræsentation på ATB 1.05a (AVR Atmega32), kildekode (i Eclipse C/C ++ IDE) og den endelige effekt i form af en stargate lyseffekt.

Link til video på youtube

Trin 6: Magic Hercules -modul med Arduino og Arduino C ++

Video, der indeholder et forenklet diagram, tilslutningspræsentation på Arduino 2560 -kort, kildekode i Arduino IDE og den endelige effekt i form af en stargate -lyseffekt.

Link til video på youtube

Trin 7: Magic Hercules -modul med PIC og C

Video indeholdende et forenklet diagram, forbindelsespræsentation på ATB 1.05a med PIC -skærm (PIC24FJ64GA004 om bord), kildekode i MPLAB og den endelige effekt i form af en stargate -lyseffekt.

Link til video på youtube

Trin 8: Magic Hercules -modul med Raspberry Pi og Python

Video med et forenklet diagram, forbindelsespræsentation på Raspberry Pi 4, kildekode i Python og den endelige effekt i form af en stargate -lyseffekt.

Link til video på youtube

Trin 9: Magic Hercules -modul med ARM - STM32 Nucleo og C

Video, der indeholder et forenklet diagram, forbindelsespræsentation på STM32 Nucleo -kort, kildekode i STM32CubeIDE og den endelige effekt i form af en stargate -lyseffekt.

Link til video på youtube

Trin 10:

Billede
Billede

Jeg tror, at MH kan være et ekstremt begyndervenligt modul, uanset platform og sprog, de bruger. Det er nok at kende den velkendte SPI-protokol, og muligheden for at begynde at kontrollere, om den digitale LED-strip overhovedet virker, og hvilken farvesekvens den har, er kun et plus.

Hvis du vil deltage i mit projekt på kickstarter - tjek dette link:

My Magic Hercules modul projekt på kickstarter

Anbefalede: