2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Od KroloSledovať viac od autora:
V tomto návode ukážem, ako mapovať LED diódy na nerovnomerné tvary pomocou 3 cukríkových dosiek Fade, Raspberry Pi3 a prvého pokusu o python. Moji priatelia mi dali za úlohu vylepšiť ich umelecké auto, ktoré má tvar tanku, takže túto myšlienku beriem a dávam nový dizajn. Dosky FadeCandy sú výrobkom adafruit, takže majú skvelý návod na nastavenie:
Tento návod stavia na tomto základnom nastavení.
Pre tento projekt materiály nasledovne:
5 listov 1/2 preglejky (uistite sa, že sú to dobré nepokrčené veci)
987 vonkajších LED diód WS2811
1 malina Pi
3 dosky Fade Candy a mini USB káble
30a 5v psu
20v 5v psu (To som mal položené)
3vodičový 22awg drôt (lanko)
Silikónové lepidlo x 4 tuby
Cameo farba v spreji x 8 plechoviek
Použité nástroje:
Aku vŕtačka
Vrták 15/32
Kotúčová píla
Jig videl
CnC stroj (voliteľné)
Stolová píla
Pásová brúska
Brúska Dremel
Krok 1: Navrhnite, vystrihnite a namaľujte
Najprv som začal s meraním existujúcej štruktúry, v tomto prípade golfového vozíka. Jedna strana bude vyrobená z 2 panelov a strana dverí s 3. Pretože diódy LED sú od seba vzdialené 3 palce, rozhodol som sa urobiť rozstup 2 1/2. Pásy nádrže, ktoré som vyrobil z 1 x 2 x 1/2 preglejky narezanej na stolná píla a brúsená pásovou brúskou. Ozubené kolesá a valčeky, ktoré som vyrobil na svojom CNC stroji. Opatrne vyznačím vzor mriežky, najskôr predvŕtam malým bitom, aby bit 15/32 nechodil. Použil som dremel brúska na zaokrúhlenie každej diery vpredu aj vzadu. Pri vkladaní diód LED, ktoré chcete maximalizovať, sa nestarajte o to, aké čísla sú vedľa nich, o to sa budeme starať neskôr. Ako vždy fyzicky najlepšie vyhovujú. Použil som jasné silikónové lepidlo, aby každý držal na mieste v správnej hĺbke. Nemal som dostatok času na výrobu konektorov, a tak som väčšinu vecí spájkoval na miesto
Krok 2: Číslovanie a mapovanie
Každý port na fade candy môže podporovať až 64 LED diód. Pre každý prameň používame variabilnú veľkosť v závislosti od toho, ako je dizajn usporiadaný. Začal som označovať každú LED diódu značkou, ale potom som skončil len s označením koncových čísiel. Toto je únavná časť, počítanie a vkladanie do excelovej tabuľky (rád používam open office). V závislosti od toho, ako LED diódy umiestnite do horizontálneho alebo vertikálneho poľa, môžete funkciu automatického dopĺňania uľahčiť. Po zmapovaní každej strany v programe Excel ich môžeme použiť na usporiadanie poľa v kóde. Tabuľku môžete tiež exportovať ako súbor CSV a rýchlo ich pridať do kódu. V takom zhone som vynechal číslo (341) medzi doskami a namiesto toho, aby som urobil veľa prepisovania, som ho nakoniec použil ako nulový zástupný symbol na výrobu viacdimenzionálnych polí rovnakej dĺžky.
V súbore fcserver.json si všimnite, že som použil väčšinou 50 pásikov LED, ale nie vždy, takže čísla je potrebné upraviť.
Krok 3: Kódovanie
Mal som len pár dobrých hodín na to, aby som túto vec kódoval, než musela vyvaliť dvere, takže mi odpustite, ak existujú diely, ktoré sú neúčinné. Najprv som preniesol funkciu kolesa z kódu arduino neopixel, aby sme mohli jedno číslo zjednodušiť na farbu namiesto troch. Potom skopírujem čísla z tabuľky do polí podľa toho, ako ich chcem zoradiť, čím vytvorím animačné rámce. Slučovanie cez viacrozmerné pole veci zjednodušuje, ale vyžaduje, aby mal rovnakú dĺžku, a tak som nahradil LED, ktorú nepoužívam, aby bolo pole rovnomerné. Skončil som s testovacím vzorom plus dvoma dobrými funkciami.
Pri spustení programu pri štarte existujú rôzne spôsoby. Upravil som súbor xyz.desktop pre predvoleného používateľa a pridal riadok na spustenie skriptu python, takže na to, aby sa táto vec rozsvietila pri zapnutí, nie je potrebná žiadna iná akcia.
Pre môj prvý projekt v Pythone to bola zábava a dúfam, že ukázanie môjho kódu niektorým z vás pomôže.