Taula de continguts:

Magic Hercules: controlador per LEDs digitals: 10 passos
Magic Hercules: controlador per LEDs digitals: 10 passos

Vídeo: Magic Hercules: controlador per LEDs digitals: 10 passos

Vídeo: Magic Hercules: controlador per LEDs digitals: 10 passos
Vídeo: That should be illegal✨ 2024, Juliol
Anonim
Magic Hercules: controlador per LEDs digitals
Magic Hercules: controlador per LEDs digitals

Descripció ràpida:

El mòdul Magic Hercules és un convertidor entre el conegut i senzill SPI al protocol NZR. Les entrades del mòdul tenen una tolerància de +3,3 V, de manera que podeu connectar de manera segura qualsevol microcontrolador que funcioni a una tensió de +3,3 V.

L’ús del protocol SPI per controlar els LED digitals és un enfocament innovador entre les solucions actuals, com ara les biblioteques ja preparades per a Arduino. Tanmateix, permet canviar a qualsevol plataforma independentment de la família de microcontroladors (com ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) i independentment del llenguatge de programació (per exemple, C, Arduino C ++, Python o un altre que admet el protocol SPI). Aquest enfocament de programació de LED digitals és molt fàcil per a principiants, ja que només cal conèixer el protocol SPI.

El mòdul MH també permet provar diversos modes de tires de LED digitals, incloses les proves de l’ordre del color al díode (RGB, BGR, RGBW, etc.), provar les tires o pantalles senceres (fins a 1024 LED).

Pas 1: per què estic treballant en el mòdul Magic Hercules?

Per què estic treballant al mòdul Magic Hercules?
Per què estic treballant al mòdul Magic Hercules?

Fa temps que treballo amb LED digitals com WS2812, WS2815 o SK6812, que normalment anomeno Magic LED.

He provat moltes tires, anells i pantalles (fins i tot la meva) basades en Magic LED (fins i tot amb tipus RGBW). He utilitzat Arduino, Nucleo (amb STM), Raspberry Pi i les meves pròpies plaques amb microcontroladors AVR.

Independentment de la plataforma, escriure un programa per controlar els LED màgics és difícil (a causa de la necessitat de programari de protocol NZR), tret que utilitzeu biblioteques ja fetes que ho facin fàcil, però que no siguin del tot òptimes en termes d’ús de codi. respostes o utilització de memòria, i només funcionen en plataformes específiques (és impossible portar-les a, per exemple, des de Raspberry a microcontroladors AVR).

Degut al fet que sovint faig servir diverses plataformes, tenia la necessitat que el codi del programa fos el més compatible possible amb Arduino, Raspberry Pi, ARM / STM (Nucleo) o AVR, sobretot quan es tracta d’efectes d’il·luminació.

Fa temps que treballo al canal de youtube i he preparat més d’una guia sobre la programació de díodes digitals en llenguatge C per a microcontroladors AVR (però fins ara només en polonès per ara). Sovint tinc contacte amb principiants que lluiten amb la programació de LED màgics. Per descomptat, alguns, segons la plataforma, trien biblioteques preparades per als seus projectes puntuals. Tot i això, molta gent busca altres solucions o intenta aprendre els secrets de la programació i jo sóc un d’ells.

Pas 2: conversió de SPI a NZR

Conversió de SPI a NZR
Conversió de SPI a NZR

Vaig decidir preparar un mòdul que fes la feina bruta per a l'usuari mitjançant el protocol NZR. El mòdul que actuarà com a convertidor de SPI a NZR i, igual que SPI, es pot utilitzar en qualsevol plataforma amb facilitat. La captura de pantalla anterior mostra la conversió de senyals SPI a protocol NZR al mòdul Magic Hercules.

Pas 3: Mòdul Magic Hercules com a provador digital de cintes LED

Mòdul Magic Hercules com a provador digital de tires LED
Mòdul Magic Hercules com a provador digital de tires LED

Quan es connecten LEDs digitals a diferents sistemes, cal recordar la tolerància de voltatge adequada per a diferents microcontroladors. La majoria dels pins d'E / S dels microcontroladors ARM funcionen en l'estàndard de +3,3 V, mentre que els microcontroladors AVR funcionen en l'estàndard TTL. A causa d'això, els pins d'entrada del mòdul Magic Hercules tenen una tolerància de +3,3 V, de manera que es poden connectar de manera segura a, per exemple, un Raspberry P o qualsevol microcontrolador basat en ARM alimentat amb +3,3 V.

Com he esmentat abans, sovint treballo amb diferents tipus de LED digitals. Depenent del fabricant, els colors individuals dels LED poden estar en diferents posicions, per exemple. RGB, BGR, GRB, RGBW, GRBW, etc. No és estrany que la documentació del fabricant mencioni la seqüència RGB, però en realitat té un aspecte diferent. He equipat el mòdul Hèrcules amb una prova de seqüència de colors perquè no hi hagi cap problema a l’hora d’esbrinar ràpidament com escriure un programa per a l’ordre de color correcte. Diverses funcions addicionals del provador us permeten comprovar ràpidament si la tira LED digital funciona, si tots els colors de cada LED de la tira (fins a 1024 LED!) Funcionen correctament (no hi ha píxels morts). I tot això sense connectar un microcontrolador ni escriure cap programa.

Pas 4: Mòdul Magic Hercules: nova solució universal per a LED digitals

Mòdul Magic Hercules: nova solució universal per a LED digitals
Mòdul Magic Hercules: nova solució universal per a LED digitals

Crec que encara no hi havia tal cosa, per controlar els LED digitals mitjançant un protocol SPI senzill i comú, que es pot operar en qualsevol plataforma o família de microcontroladors.

Per descomptat, hi ha moltes maneres de controlar els LED digitals, alguns són més òptims i altres són menys òptims. El mòdul Magic Hercules és una altra opció i molt pràctic per a mi. Crec que a algú li pot agradar aquesta solució inusual. Fa poc vaig sortir a la plataforma de crowdfunding - kickstarter, on vaig preparar una descripció més àmplia del mòdul Magic Hercules en diversos vídeos, incloent la facilitat de treballar amb Arduino, Nucleo (STM), Raspberry Pi i AVR i PIC microcontroladors. Si voleu donar suport al projecte Magic Hercules, consulteu això:

Projecte del mòdul My Magic Hercules a kickstarter

Vaig preparar un programa en llenguatge C: un simple efecte stargate, que es basa en les operacions de la taula i l'enviament seqüencial del buffer al bucle principal. Gràcies al mòdul Magic Hercules, he pogut transferir fàcilment el codi font a altres idiomes i plataformes; comproveu els passos següents: codis font.

Pas 5: Mòdul Magic Hercules amb Atmega32 i C

Vídeo que conté un diagrama simplificat, presentació de connexió a ATB 1.05a (AVR Atmega32), codi font (en Eclipse C / C ++ IDE) i l'efecte final en forma d'efecte de llum estelar.

Enllaç al vídeo a youtube

Pas 6: Mòdul Magic Hercules amb Arduino i Arduino C ++

Vídeo que conté un diagrama simplificat, presentació de la connexió a la placa Arduino 2560, codi font en Arduino IDE i l’efecte final en forma d’efecte de llum estelar.

Enllaç al vídeo a YouTube

Pas 7: Mòdul de Magic Hercules amb PIC i C

Vídeo que conté un diagrama simplificat, presentació de connexió a ATB 1.05a amb blindatge PIC (PIC24FJ64GA004 a bord), codi font en MPLAB i l'efecte final en forma d'efecte de llum estelar.

Enllaç al vídeo a youtube

Pas 8: Mòdul Magic Hercules amb Raspberry Pi i Python

Vídeo que conté un diagrama simplificat, presentació de la connexió a Raspberry Pi 4, codi font a Python i l’efecte final en forma d’efecte de llum estel·lar.

Enllaç al vídeo a YouTube

Pas 9: Mòdul Magic Hercules amb ARM - STM32 Nucleo i C

Vídeo que conté un diagrama simplificat, presentació de la connexió a la placa Nucleo STM32, codi font a STM32CubeIDE i l’efecte final en forma d’efecte de llum stargate.

Enllaç al vídeo a youtube

Pas 10:

Imatge
Imatge

Crec que MH pot ser un mòdul extremadament apte per a principiants, independentment de la plataforma i el llenguatge que facin servir. N’hi ha prou amb conèixer el conegut protocol SPI i la possibilitat de començar a comprovar si la tira LED digital funciona i la seqüència de colors que té és només un avantatge.

Si voleu participar en el meu projecte a kickstarter, consulteu aquest enllaç:

Projecte del mòdul My Magic Hercules a kickstarter

Recomanat: