Magic Hercules - bestuurder vir digitale LED's: 10 stappe
Magic Hercules - bestuurder vir digitale LED's: 10 stappe

Video: Magic Hercules - bestuurder vir digitale LED's: 10 stappe

Video: Magic Hercules - bestuurder vir digitale LED's: 10 stappe
Video: Buenos Aires - Ongelooflijk heldere en soulvolle hoofdstad van Argentinië 2025, Januarie
Anonim
Magic Hercules - bestuurder vir digitale LED's
Magic Hercules - bestuurder vir digitale LED's

Vinnige oorsig:

Die Magic Hercules-module is 'n omskakelaar tussen die bekende en eenvoudige SPI na die NZR-protokol. Die module -insette het 'n toleransie van +3.3 V, sodat u alle mikrobeheerders wat met 'n spanning van +3.3 V werk, veilig kan verbind

Die gebruik van die SPI-protokol om digitale LED's te beheer, is 'n innoverende benadering onder huidige oplossings, soos gereedgemaakte biblioteke vir Arduino. Dit maak dit egter moontlik om oor te skakel na enige platform, ongeag die mikrobeheerderfamilie (soos ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) en ongeag die programmeertaal (bv. C, Arduino C ++, Python of 'n ander wat SPI -protokol ondersteun). Hierdie benadering tot die programmering van digitale LED's is uiters beginnervriendelik, want al wat u nodig het, is kennis van die SPI-protokol.

Die MH -module laat ook verskillende maniere toe om digitale LED -stroke te toets, insluitend die toets van die kleurvolgorde in die diode (RGB, BGR, RGBW, ens.), Die toets van die hele stroke of skerms (tot 1024 LED's).

Stap 1: Waarom werk ek aan die Magic Hercules -module?

Waarom werk ek aan die Magic Hercules -module?
Waarom werk ek aan die Magic Hercules -module?

Ek werk al lank met digitale LED's soos WS2812, WS2815 of SK6812, wat ek gewoonlik Magic LED noem.

Ek het baie stroke, ringe en skerms (selfs my eie) getoets op grond van Magic LED (selfs met RGBW -tipe). Ek het Arduino, Nucleo (met STM), Raspberry Pi en my eie borde met AVR -mikrobeheerders gebruik.

Ongeag die platform, is dit moeilik om 'n program te skryf om magiese LED's te beheer (as gevolg van die noodsaaklikheid van NZR-protokolprogrammatuur), tensy u gereedgemaakte biblioteke gebruik wat dit maklik maak, maar nog steeds nie ten volle optimaal in terme van kodegebruik nie, onderbreek antwoorde of geheueverbruik, en werk slegs op spesifieke platforms (dit is onmoontlik om dit van Raspberry na AVR -mikrobeheerders oor te dra).

Omdat ek gereeld verskillende platforms gebruik, moes die programkode so versoenbaar as moontlik wees met Arduino, Raspberry Pi, ARM / STM (Nucleo) of AVR - veral as dit by beligtingseffekte kom.

Ek werk al 'n geruime tyd aan die YouTube -kanaal en het meer as een gids vir die programmering van digitale diodes in C -taal vir AVR -mikrobeheerders voorberei (maar tot dusver slegs in Pools). Ek het gereeld kontak met beginners wat sukkel met die programmering van magiese LED's. Natuurlik kies sommige, afhangende van die platform, gereed biblioteke vir hul eenmalige projekte. Baie mense soek egter ander oplossings of probeer om die geheime van programmering te leer ken, en ek is een daarvan.

Stap 2: Omskakeling van SPI na NZR

Omskakeling van SPI na NZR
Omskakeling van SPI na NZR

Ek het besluit om 'n module voor te berei wat die vuil werk vir die gebruiker sal verrig met behulp van die NZR -protokol. Die module wat as SPI na NZR -omskakelaar sal dien, en net soos SPI, kan maklik op enige platform gebruik word. Die skermkiekie hierbo toon die omskakeling van SPI -seine na die NZR -protokol in die Magic Hercules -module.

Stap 3: Magic Hercules -module as digitale LED Strip Tester

Magic Hercules -module as digitale LED Strip Tester
Magic Hercules -module as digitale LED Strip Tester

As u digitale LED's aan verskillende stelsels koppel, moet u onthou wat die toepaslike spanningstoleransie vir verskillende mikrobeheerders is. Die meeste I / O -penne van ARM -mikrobeheerders werk in die +3.3 V -standaard, terwyl die AVR -mikrobeheerders volgens die TTL -standaard werk. As gevolg hiervan het die invoerpenne van die Magic Hercules -module 'n verdraagsaamheid van +3.3 V, sodat hulle veilig kan word gekoppel aan bv 'n Framboos P of enige ARM -gebaseerde mikrobeheerder wat +3.3 V.

Soos ek vroeër genoem het, werk ek gereeld met verskillende soorte digitale LED's. Afhangende van die vervaardiger, kan individuele kleure in die LED's in verskillende posisies wees, bv. RGB, BGR, GRB, RGBW, GRBW, ens. Dit is nie ongewoon dat die vervaardiger se dokumentasie die RGB -volgorde noem nie, maar dit lyk eintlik anders. Ek het die Hercules -module toegerus met 'n kleurvolgtoets, sodat daar geen probleem is om vinnig uit te vind hoe om 'n program vir die korrekte kleurvolgorde te skryf nie. Met verskeie addisionele funksies van die toetser kan u vinnig kyk of die digitale LED -strook enigsins werk, of al die kleure in elke LED regoor die strook (tot 1024 LED's!) Reg werk (geen dooie pixels). En dit alles sonder om 'n mikrobeheerder aan te sluit en 'n program te skryf.

Stap 4: Magic Hercules Module - Nuwe universele oplossing vir digitale LED's

Magic Hercules Module - Nuwe universele oplossing vir digitale LED's
Magic Hercules Module - Nuwe universele oplossing vir digitale LED's

Ek dink nog nie dat daar so iets was om digitale LED's te beheer met behulp van 'n eenvoudige en algemene SPI -protokol wat op enige platform of familie mikrobeheerders bestuur kan word nie.

Daar is natuurlik baie maniere om digitale LED's te beheer, sommige is meer optimaal en ander is minder optimaal. Die Magic Hercules -module is 'n ander opsie en baie prakties vir my. Ek dink dat iemand van hierdie ongewone oplossing hou. Ek het onlangs op die crowdfunding -platform begin - kickstarter, waar ek 'n breër beskrywing van die Magic Hercules -module in verskeie video's voorberei het, insluitend hoe maklik dit is om daarmee te werk op Arduino, Nucleo (STM), Raspberry Pi en op AVR en PIC mikrobeheerders. As u die Magic Hercules -projek wil ondersteun, kyk hierna:

My Magic Hercules -moduleprojek op kickstarter

Ek het 'n program in C -taal voorberei - 'n eenvoudige stargate -effek, wat gebaseer is op tafelbewerkings en opeenvolgende stuur van die buffer in die hooflus. Danksy die Magic Hercules -module kon ek die bronkode maklik na ander tale en platforms oordra - kyk na die volgende stappe - bronkodes.

Stap 5: Magic Hercules -module met Atmega32 en C

Video met 'n vereenvoudigde diagram, verbindingsaanbieding op ATB 1.05a (AVR Atmega32), bronkode (in Eclipse C/C ++ IDE) en die finale effek in die vorm van 'n stergate -ligeffek.

Skakel na video op youtube

Stap 6: Magic Hercules -module met Arduino en Arduino C ++

Video met 'n vereenvoudigde diagram, aansluitingsaanbieding op Arduino 2560 -bord, bronkode in Arduino IDE en die finale effek in die vorm van 'n stergate -ligeffek.

Skakel na video op youtube

Stap 7: Magic Hercules -module met PIC en C

Video met 'n vereenvoudigde diagram, aansluitingsaanbieding op ATB 1.05a met PIC -skild (PIC24FJ64GA004 aan boord), bronkode in MPLAB en die finale effek in die vorm van 'n stergate -ligeffek.

Skakel na video op youtube

Stap 8: Magic Hercules -module met Framboos Pi en Python

Video met 'n vereenvoudigde diagram, verbindingsaanbieding op Raspberry Pi 4, bronkode in Python en die finale effek in die vorm van 'n stergate -ligeffek.

Skakel na video op youtube

Stap 9: Magic Hercules -module met ARM - STM32 Nucleo en C

Video met 'n vereenvoudigde diagram, aansluitingsaanbieding op STM32 Nucleo -bord, bronkode in STM32CubeIDE en die finale effek in die vorm van 'n stergate -ligeffek.

Skakel na video op youtube

Stap 10:

Beeld
Beeld

Ek dink MH kan 'n uiters beginnersvriendelike module wees, ongeag die platform en taal wat hulle gebruik. Dit is genoeg om die bekende SPI-protokol te ken, en die moontlikheid om te begin kyk of die digitale LED-strook enigsins werk en watter kleurvolgorde dit het, is slegs 'n pluspunt.

As u aan my projek op kickstarter wil deelneem - kyk na hierdie skakel:

My Magic Hercules -moduleprojek op kickstarter