Mündəricat:

LED Art Avtomobil Tankı. FadeCandy + RPi: 3 addım
LED Art Avtomobil Tankı. FadeCandy + RPi: 3 addım

Video: LED Art Avtomobil Tankı. FadeCandy + RPi: 3 addım

Video: LED Art Avtomobil Tankı. FadeCandy + RPi: 3 addım
Video: Timelapse Final Fantasy Gunblade Printed on a CR-30 2024, Noyabr
Anonim

Müəllif tərəfindən KroloFollow tərəfindən daha çox:

String Art Dome
String Art Dome
String Art Dome
String Art Dome
LED UV Gəmi Çubuğu
LED UV Gəmi Çubuğu
LED UV Gəmi Çubuğu
LED UV Gəmi Çubuğu

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

Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya
Dizayn, Kəsmə və Boya

Ə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ə

Nömrələmə və Xəritəçəkmə
Nömrələmə və Xəritəçəkmə
Nömrələmə və Xəritəçəkmə
Nömrələmə və Xəritəçəkmə
Nömrələmə və Xəritəçəkmə
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.

Tövsiyə: