Talaan ng mga Nilalaman:

Magic Hercules - Driver para sa Mga Digital na LED: 10 Hakbang
Magic Hercules - Driver para sa Mga Digital na LED: 10 Hakbang

Video: Magic Hercules - Driver para sa Mga Digital na LED: 10 Hakbang

Video: Magic Hercules - Driver para sa Mga Digital na LED: 10 Hakbang
Video: Use Cases in UTXO DeFi / 1.10.2024 on Spaces (Chapters in Description) 2024, Nobyembre
Anonim
Magic Hercules - Driver para sa Digital LEDs
Magic Hercules - Driver para sa Digital LEDs

Mabilis na pangkalahatang ideya:

Ang module ng Magic Hercules ay isang converter sa pagitan ng kilalang at simpleng SPI sa protokol ng NZR. Ang mga input ng module ay may pagpapaubaya na +3.3 V, upang ligtas mong ikonekta ang anumang mga microcontroller na tumatakbo sa boltahe ng +3.3 V.

Ang paggamit ng SPI protocol upang makontrol ang mga digital LEDs ay isang makabagong diskarte sa mga kasalukuyang solusyon, tulad ng mga nakahandang aklatan para sa Arduino. Gayunpaman, pinapayagan ang paglipat sa anumang platform anuman ang pamilya ng microcontroller (tulad ng ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) at anuman ang wika ng pagprograma (hal. C, Arduino C ++, Python o iba pa na sumusuporta sa SPI protocol). Ang pamamaraang ito sa pagprograma ng mga digital LEDs ay napaka-baguhan dahil lahat ng kailangan mo ay kaalaman sa SPI protocol.

Pinapayagan din ng module ng MH ang maraming mga mode ng pagsubok ng mga digital LED strips, kabilang ang pagsubok sa pagkakasunud-sunod ng kulay sa diode (RGB, BGR, RGBW, atbp.), Sinusubukan ang buong mga piraso o ipinapakita (hanggang sa 1024 LEDs).

Hakbang 1: Bakit Ako Nagtatrabaho sa Magic Hercules Module?

Bakit Ako Nagtatrabaho sa Modyul na Magic Hercules?
Bakit Ako Nagtatrabaho sa Modyul na Magic Hercules?

Nagtatrabaho ako sa mga digital LED tulad ng WS2812, WS2815 o SK6812 sa loob ng mahabang panahon, na karaniwang tinatawag kong Magic LED.

Sinubukan ko ang maraming mga piraso, singsing at pagpapakita (kahit na ang sarili ko) batay sa Magic LED (kahit na may uri ng RGBW). Ginamit ko ang Arduino, Nucleo (na may STM), Raspberry Pi at ang aking sariling mga board na may AVR microcontrollers.

Anuman ang platform, ang pagsusulat ng isang programa upang makontrol ang mga magic LEDs ay mahirap (dahil sa pangangailangan para sa NZR protocol software), maliban kung gumagamit ka ng mga handa nang aklatan na ginagawang madali, ngunit hindi pa rin ganap na na-optimize sa mga tuntunin ng paggamit ng code, makagambala mga tugon, o paggamit ng memorya, at gagana lamang sa mga tukoy na platform (pag-port sa kanila upang hal. mula sa Raspberry hanggang AVR microcontrollers ay imposible).

Dahil sa katotohanan na madalas akong gumagamit ng iba't ibang mga platform, kinailangan kong maging katugma ang code ng programa hangga't maaari sa Arduino, Raspberry Pi, ARM / STM (Nucleo) o AVR - lalo na pagdating sa mga epekto sa pag-iilaw.

Matagal na akong nagtatrabaho sa youtube channel at naghanda ako ng higit sa isang patnubay sa pagprograma ng mga digital diode sa wikang C para sa mga AVR microcontroller (ngunit sa ngayon sa Polish lamang sa ngayon). Madalas akong makipag-ugnay sa mga nagsisimula na nakikipagpunyagi sa mga programang magic LED. Siyempre, ang ilan, depende sa platform, ay pumili ng mga handa na aklatan para sa kanilang mga proyekto na isang beses. Gayunpaman, maraming mga tao ang naghahanap ng iba pang mga solusyon o sinusubukan na malaman ang mga lihim ng pagprograma at isa ako sa mga ito.

Hakbang 2: SPI sa Pagbabago ng NZR

SPI sa Pagbabago ng NZR
SPI sa Pagbabago ng NZR

Napagpasyahan kong maghanda ng isang module na gagawa ng maruming gawain para sa gumagamit na gumagamit ng proteksyon ng NZR. Ang module na gumaganap bilang SPI sa NZR converter at tulad ng SPI, ay maaaring magamit sa anumang platform nang madali. Ipinapakita ng screenshot sa itaas ang pag-convert ng mga signal ng SPI sa proteksyon ng NZR sa module na Magic Hercules.

Hakbang 3: Magic Hercules Module Bilang Digital LED Strip Tester

Magic Hercules Modyul Bilang Digital LED Strip Tester
Magic Hercules Modyul Bilang Digital LED Strip Tester

Kapag kumokonekta sa mga digital na LED sa iba't ibang mga system, dapat tandaan ng isa ang tungkol sa naaangkop na tolerance ng boltahe para sa iba't ibang mga microcontroller. Karamihan sa mga I / O na pin ng ARM microcontrollers ay gumagana sa standard na +3.3 V, habang ang mga AVR microcontroller ay gumagana sa pamantayan ng TTL. Dahil dito, ang mga input pin ng module ng Magic Hercules ay may pagpapaubaya na +3.3 V, upang maaari silang ligtas na konektado sa hal. Isang Raspberry P o anumang ARM based microcontroller na pinalakas +3.3 V.

Tulad ng nabanggit ko dati, madalas akong nagtatrabaho sa iba't ibang mga uri ng mga digital na LED. Nakasalalay sa tagagawa, ang mga indibidwal na kulay sa LEDs ay maaaring nasa iba't ibang posisyon, hal. RGB, BGR, GRB, RGBW, GRBW, atbp. Hindi bihira para sa dokumentasyon ng gumawa na banggitin ang pagkakasunud-sunod ng RGB, ngunit talagang magkakaiba ito. Nilagyan ko ang module na Hercules na may pagsubok sa pagkakasunud-sunod ng kulay upang walang problema sa mabilis na pag-uunawa kung paano magsulat ng isang programa para sa wastong pagkakasunud-sunod ng kulay. Pinapayagan ka ng maraming karagdagang pag-andar ng tester na mabilis mong suriin kung ang digital LED strip ay gumagana talaga, kung ang lahat ng mga kulay sa bawat LED sa buong strip (hanggang sa 1024 LEDs!) Ay gumagana nang tama (walang patay na mga pixel). At lahat ng ito nang hindi kumokonekta sa isang microcontroller at pagsusulat ng anumang programa.

Hakbang 4: Module ng Magic Hercules - Bagong Universal Solusyon para sa Mga Digital na LED

Magic Hercules Module - Bagong Universal Solution para sa Digital LEDs
Magic Hercules Module - Bagong Universal Solution para sa Digital LEDs

Sa palagay ko ay wala pang ganoong bagay, upang makontrol ang mga digital LED gamit ang isang simple at karaniwang SPI na protokol, na maaaring patakbuhin sa anumang platform o pamilya ng mga microcontroller.

Siyempre, maraming mga paraan upang makontrol ang mga digital na LED, ang ilan ay mas mahusay at ang iba ay hindi gaanong optimal. Ang module ng Magic Hercules ay isa pang pagpipilian at napaka praktikal para sa akin. Sa palagay ko maaaring may magustuhan ang isang kakaibang solusyon na ito. Kamakailan lamang ay tumagal ako sa platform ng crowdfunding - kickstarter, kung saan naghanda ako ng isang mas malawak na paglalarawan ng module ng Magic Hercules sa maraming mga video, kasama na kung gaano kadali magtrabaho kasama nito sa Arduino, Nucleo (STM), Raspberry Pi at sa AVR at PIC mga microcontroller. Kung nais mong suportahan ang proyekto ng Magic Hercules, suriin ito:

Ang proyekto ng module ng Aking Magic Hercules sa kickstarter

Naghanda ako ng isang programa sa wikang C - isang simpleng epekto sa stargate, na batay sa mga pagpapatakbo ng talahanayan at sunud-sunod na pagpapadala ng buffer sa pangunahing loop. Salamat sa module ng Magic Hercules, madali kong mailipat ang source code sa ibang mga wika at platform - suriin ang mga susunod na hakbang - mga source code.

Hakbang 5: Module ng Magic Hercules Sa Atmega32 at C

Ang video na naglalaman ng isang pinasimple na diagram, koneksyon sa koneksyon sa ATB 1.05a (AVR Atmega32), source code (sa Eclipse C / C ++ IDE) at ang pangwakas na epekto sa anyo ng isang stargate light effect.

Mag-link sa video sa youtube

Hakbang 6: Module ng Magic Hercules Sa Arduino at Arduino C ++

Ang video na naglalaman ng isang pinasimple na diagram, koneksyon sa koneksyon sa Arduino 2560 board, source code sa Arduino IDE at ang pangwakas na epekto sa anyo ng isang stargate light effect.

Mag-link sa video sa youtube

Hakbang 7: Module ng Magic Hercules Sa PIC at C

Ang video na naglalaman ng isang pinasimple na diagram, koneksyon pagtatanghal sa ATB 1.05a na may kalasag PIC (PIC24FJ64GA004 sa board), source code sa MPLAB at ang pangwakas na epekto sa anyo ng isang stargate light effect.

Mag-link sa video sa youtube

Hakbang 8: Modyul ng Magic Hercules Sa Raspberry Pi at Python

Ang video na naglalaman ng isang pinasimple na diagram, koneksyon sa koneksyon sa Raspberry Pi 4, source code sa Python at ang pangwakas na epekto sa anyo ng isang stargate light effect.

Mag-link sa video sa youtube

Hakbang 9: Modyul na Magic Hercules Sa ARM - STM32 Nucleo at C

Ang video na naglalaman ng isang pinasimple na diagram, pagtatanghal ng koneksyon sa STM32 Nucleo board, source code sa STM32CubeIDE at ang pangwakas na epekto sa anyo ng isang stargate light effect.

Mag-link sa video sa youtube

Hakbang 10:

Larawan
Larawan

Sa palagay ko ang MH ay maaaring maging isang napaka-baguhan-friendly na module, hindi alintana ang platform at wika na ginagamit nila. Ito ay sapat na upang malaman ang kilalang SPI protocol, at ang posibilidad na simulang suriin kung ang digital LED strip ay gumagana sa lahat at kung anong pagkakasunud-sunod ng kulay ang mayroon ito ay isang plus lamang.

Kung nais mong makilahok sa aking proyekto sa kickstarter - suriin ang link na ito:

Ang proyekto ng module ng Aking Magic Hercules sa kickstarter

Inirerekumendang: