2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Müəllif tərəfindən KroloFollow tərəfindən daha çox:
Bu təlimatda, LEDləri 3 Fade konfet lövhəsi, Raspberry Pi3 və pythonda ilk cəhddən istifadə edərək qeyri-bərabər formalarda necə göstərəcəyimi göstərəcəyəm. Dostlarım mənə tank şəklində olan sənət avtomobilini təkmilləşdirməyi tapşırdılar, buna görə də bu fikri qəbul edib yeni bir dizayn verirəm. FadeCandy lövhələri bir adafruit məhsuludur, buna görə əla bir quraşdırma təlimatı var:
Bu təlimat, bu əsas quruluşa əsaslanır.
Bu layihə üçün materiallar aşağıdakı kimidir:
1/2 kontrplakdan 5 təbəqə (yaxşı əyilməmiş əşyalar olduğundan əmin olun)
987 WS2811 açıq LEDlər
1 Moruq Pi
3 Fade Candy Board və mini usb kabellər
30a 5v psu
20v 5v psu (Ətrafımda qoyduğum şeylərdir)
3 dirijor 22awg tel (qapalı)
Silikon yapışqan x 4 boru
Cameo sprey boya x 8 qutu
İstifadə olunan alətlər:
Simsiz qazma
15/32 matkap ucu
Dairəvi mişar
Jig gördü
CnC maşın (isteğe bağlı)
Masa gördüm
Kəmər zımpara
Dremel zımpara
Addım 1: Dizayn, Kəsmə və Boyama
Əvvəlcə mövcud quruluşun ölçüləri ilə başladım, bu vəziyyətdə bir golf arabası. Bir tərəfi 2 paneldən və qapı tərəfi 3 -dən hazırlanacaq. LEDlər 3 ayrı olduğu üçün aralığı 2 1/2 etmək qərarına gəldim. 1 x 2 x 1/2 kontrplakdan hazırladığım tank izləri masa gördüm və kəmər zımpara ilə zımparaladım. CNC maşını ilə hazırladığım dişlilər və silindrlər. Şəbəkə modelini diqqətlə qeyd edərək əvvəlcə kiçik bir hissə ilə əvvəlcədən qazdım, 15/32 bit getmir. Dramel istifadə etdim zımpara hər çuxuru öndən və arxadan yuvarlaqlaşdırmaq. LEDləri taxarkən səmərəliliyinizi artırmaq üçün hansı nömrələrin yanında olduğunu düşünməyin, sonra onları narahat edəcəyik. Fiziki cəhətdən nə qədər yaxşı uyğunlaşdıqları. Təmiz istifadə etdim hər birini düzgün dərinlikdə yerində saxlamaq üçün silikon yapışqan
Addım 2: Nömrələmə və Xəritəçəkmə
Solğun konfetin hər bir portu 64 -ə qədər LED -i dəstəkləyə bilər. Dizaynın necə qurulduğundan asılı olaraq hər bir ip üçün dəyişən bir ölçü istifadə edirik. Hər bir LED -i markerlə işarələməyə başladım, ancaq son nömrələri qeyd edərək bitirdim. Hesablamaq və onları bir excel elektron cədvəlinə qoymaq (bu, açıq ofisdən istifadə etməyi xoşlayıram) yorucu hissəsidir. LEDləri üfüqi və ya şaquli bir şəkildə necə qoyduğunuzdan asılı olaraq, asanlaşdırmaq üçün avtomatik doldurma xüsusiyyətindən istifadə edə bilərsiniz. Excel -də hər bir tərəfin xəritələnməsindən sonra, onları kodun ətrafında düzmək üçün istifadə edə bilərik. Kodunuza tez bir zamanda əlavə etmək üçün cədvəli csv olaraq da ixrac edə bilərsiniz. Tələsik lövhələr arasında bir sıra (341) buraxdım və bir dəstə yenidən yazmaq əvəzinə bərabər uzunluqlu çoxölçülü massivlər düzəltmək üçün boş yer tutucu kimi istifadə etdim.
Fcserver.json faylında, əsasən 50 LED şeridi istifadə etdiyimi unutmayın, amma həmişə deyil, buna görə ədədlərin tənzimlənməsi lazımdır.
Addım 3: Kodlaşdırma
Qapını açmadan əvvəl bu şeyi kodlaşdırmaq üçün bir neçə yaxşı saatım var idi, buna görə təsirsiz olan hissələr varsa məni bağışlayın. Əvvəlcə təkər funksiyasını arduino neopixel kodundan götürdüm, buna görə üç ədəd əvəzinə bir rəqəmi rəngə sadələşdirə bilərik. Daha sonra elektron tablodan nömrələri necə sıralamaq istədiyimi seriallara köçürürəm və bununla da animasiya çərçivələri yaradıram. Çoxölçülü bir massivdən keçmək işləri asanlaşdırır, lakin bərabər uzunluqda olmasını tələb edir, buna görə də serialı bərabər etmək üçün istifadə etmədiyim LED -i əvəz etdim. Bir test nümunəsi və iki yaxşı funksiya ilə sona çatdım.
Açılışda bir proqramı başlatmağın fərqli yolları var. Varsayılan istifadəçi üçün xyz.desktop faylını redaktə etdim və python skriptini işə salmaq üçün bir xətt əlavə etdim, buna görə də bu şeyin güclə yanması üçün başqa bir hərəkətə ehtiyac yoxdur.
İlk Python layihəm üçün əyləncəli idi və ümid edirəm ki, kodumu göstərərək bəzilərinizə orda kömək edəcək.