Mündəricat:

8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar: 7 addım (şəkillərlə)
8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar: 7 addım (şəkillərlə)

Video: 8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar: 7 addım (şəkillərlə)

Video: 8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar: 7 addım (şəkillərlə)
Video: Complete guide to PCA9685 16 channel Servo controller for Arduino with code Version of 5 ( V1) 2024, Iyul
Anonim
8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar
8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar
8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar
8x8x8 LED kubunu necə qurmaq və Arduino ilə idarə etmək olar

Yanvar 2020 redaktə:

Bunu kimsə fikir yaratmaq üçün istifadə etmək istəsə bunu tərk edirəm, amma bu təlimatlara əsaslanaraq bir kub qurmağın artıq mənası yoxdur. LED sürücü IC -ləri artıq hazırlanmır və hər iki eskiz Arduino və Processing -in köhnə versiyalarında yazılıb və artıq işləmir. Onların işləməsi üçün nəyi dəyişmək lazım olduğunu bilmirəm. Ayrıca, mənim tikinti metodum, qəribə bir qarışıqlıqla nəticələndi. Təklifim başqa bir təlimatçının təlimatlarına əməl etmək və ya bir dəst almaqdır. Bu kub 2011 -ci ildə təxminən 50 dollara başa gəlmişdi, indi ebaydan təxminən 20 dollara bir dəst ala bilərsiniz.

Orijinal giriş:

Instructables -da bir çox LED küpü var, bəs niyə başqa birisi var? Çoxu 27 və ya 64 LEDdən ibarət kiçik kublar üçündür, nadir hallarda daha böyükdür, çünki mikrokontrolördə mövcud olan çıxışların sayı ilə məhdudlaşır. Bu kub 512 LED olacaq və Arduinodan yalnız 11 çıxış telinə ehtiyac olacaq. Bu necə mümkündür? Allegro Microsystems A6276EA LED sürücüsünü istifadə edərək.

Sizə kubun özünü necə yaratdığımı, idarəetmə lövhəsini və nəhayət onu parlatmaq üçün kodu göstərəcəyəm.

Addım 1: Materiallar

Materiallar
Materiallar

Kubu qurmaq üçün lazım olan bütün hissələr: 1 Armeino/Freeduino Atmega168 və ya daha yüksək çipli 512 LED, ölçüsü və rəngi sizə bağlıdır, Allegro 8 NPN transistorlarından 3 mm qırmızı 4 A6276EA LED sürücü çiplərindən istifadə etdim., BDX53B Darlington transistoru 4 1000 ohm müqavimət, 1/4 vat və ya daha yüksək 12 560 ohm rezistor, 1/4 vat və ya daha yüksək 1 330uF elektrolitik kondansatör 4 24 pinli IC yuva 9 16 pinli IC yuvası 4 "x4" (və ya daha böyük) istifadə etdim) bütün hissələri tutmaq üçün mükəmməl bir taxta parçası, Köhnə bir kompüter fanatı Köhnə disket nəzarətçi kabeli Köhnə bir kompüterin enerji təchizatı Bir çox bağlama teli, lehim, lehimləmə dəmiri, axın, həyatınızı asanlaşdırmaq üçün hər şey. LED lehimləmə cihazı etmək üçün istifadə olunan 7 "x7" (və ya daha böyük) taxta parçası Bitmiş kubunuzu göstərmək üçün gözəl bir seçim Mənim seçdiyim Arduino/Freeduino www.moderndevice.com saytından Çılpaq Sümüklər Kartıdır (BBB). LED -lər eBay -dən alındı və Çindən göndərilən 1000 LED üçün 23 dollara başa gəldi. Qalan elektronikalar Newark Electronics -dən (www.newark.com) alınmış və cəmi 25 dollara başa gəlməlidir. Hər şeyi almaq məcburiyyətindəsinizsə, bu layihənin qiyməti təxminən 100 dollar civarında olmalıdır. Çox köhnə kompüter avadanlığım var, buna görə də bu hissələr hurda yığıncağından çıxdı.

Addım 2: Layerləri yığın

Layerləri yığın
Layerləri yığın
Layerləri yığın
Layerləri yığın
Layerləri yığın
Layerləri yığın
Layerləri yığın
Layerləri yığın

Bu 512 LED kubundan 1 qat (64 LED) necə hazırlanır: Aldığım LED -lərin diametri 3 mm idi. Xərcləri azaltmaq və kubun son ölçüsünü masanı və ya rəfi tamamilə ələ keçirmədən masamda və ya rəfimdə oturacaq qədər kiçik etmək üçün kiçik LED -lərdən istifadə etmək qərarına gəldim. Xətlər arasında təxminən.6 düym olan bir 8x8 ızgara çəkdim. Bu mənə hər tərəfdən 4.25 düym ətrafında bir kub ölçüsü verdi. Hər bir təbəqəni lehimləyərkən LED -ləri tutacaq bir cığır düzəltmək üçün xətlərin birləşdiyi yerlərdə 3 mm deliklər qazın. A6276EA cari bir lavabo cihazıdır. Bu, mənbə gərginliyinə deyil, yerə aparan bir yol təmin etdiyi deməkdir. Kubu ümumi anod konfiqurasiyasında qurmalısınız. Əksər kublar ümumi katot kimi qurulur. LED -in uzun tərəfi ümumiyyətlə anoddur, əmin olmaq üçün sizinki yoxlayın. Etdiyim ilk şey hər LED -i sınamaq idi. Bəli, uzun və darıxdırıcı bir prosesdir və istəsəniz atlaya bilərsiniz. LED -ləri sınamaq üçün vaxtımı kubumda yığıldıqdan sonra ölü bir yer tapmaqdan daha çox sərf edərdim. 1000-dən 1 ölü LED tapdım. Pis deyil. 11 ədəd bərk, izolyasiyasız çəngəl 5 düymə qədər kəsin. Jiginizə bir satırın hər bir ucuna 1 LED qoyun və sonra teli hər anoda lehimləyin. İndi qalan 6 LED -i sıraya qoyun və həmin anodları telə lehimləyin. Bu şaquli və ya üfüqi ola bilər, bütün təbəqələri eyni şəkildə etdiyiniz müddətdə heç bir əhəmiyyəti yoxdur. Hər cərgəni bitirdikdə, anodlardan artıq olan qurğunu kəsin. Təxminən 1/8 buraxdım. 8 satırı tamamlayana qədər təkrarlayın. İndi hamısını bir parça halına gətirmək üçün düzəltdiyiniz satırların arasında 3 ədəd tel bağlayın. Sonra 5 volt bağlayaraq təbəqəni sınadım. Bir rezistor vasitəsilə tel qəfəsini bağlayın və hər bir katodun torpaq telinə toxunun. Yandırmayan hər hansı bir LED -i dəyişdirin. Diqqətlə qurğudan təbəqəni çıxarın və kənara qoyun. Telləri əysəniz, narahat olmayın. onları bacardığınız qədər düzəldin. Bükmək çox asandır. Şəkillərimdən də bildiyiniz kimi çoxlu əyilmiş tellərim var. Təbriklər 1/8 tamamladınız. 7 qat daha edin. İSTEYMƏLİ: Lehim etmək təbəqələr birlikdə (Adım 3) daha da asanlaşır, sonrakı hər bir təbəqə hələ də jigdə ikən katodun yuxarı dörddə bir düymünü 45-90 dərəcə irəli bükür. Bunu birinci qatınıza etmə, bir alt təbəqə olduğunu və potensialların s olması lazım olduğunu bildirəcəyik dürüstlük.

Addım 3: Kubu yığın

Kubu yığın
Kubu yığın
Kubu yığın
Kubu yığın

Bir küp etmək üçün bütün təbəqələri bir -birinə necə lehimləmək olar: Çətin hissəsi az qala bitdi. İndi diqqətlə bir təbəqəni yenidən cibin içinə qoyun, amma çox təzyiq göstərməyin, bükmədən silmək istəyirik. Bu birinci təbəqə kubun üst üzüdür. Birincisinin üstünə başqa bir təbəqə qoyun, telləri düzün və lehimləməyə başlayın. Əvvəlcə küncləri, sonra kənar kənarını, sonra satırların içərisində etməyi ən asan gördüm. İşiniz bitənə qədər təbəqələr əlavə etməyə davam edin. Kabelləri əvvəlcədən bükdünüzsə, qatı son olaraq düz uclarla saxladığınızdan əmin olun. Dibidir. Hər təbəqə arasında bir az çox yerim var idi, buna görə də bir kub şəkli almadım. Böyük bir şey deyil, bununla yaşaya bilərəm.

Addım 4: Nəzarət lövhəsinin qurulması

Nəzarət Şurasının qurulması
Nəzarət Şurasının qurulması
Nəzarət Şurasının qurulması
Nəzarət Şurasının qurulması
Nəzarət Şurasının qurulması
Nəzarət Şurasının qurulması

Nəzarət lövhəsini necə qurmaq və Arduino -ya bağlamaq olar: Şemanı izləyin və lövhəni istədiyiniz kimi qurun. İdarəçi çiplərini lövhənin ortasına qoydum və kubun hər qatına cərəyanı idarə edən tranzistorları tutmaq üçün sol tərəfi istifadə etdim və nəzarətçi çiplərindən katotlara gedən bağlayıcıları tutmaq üçün sağ tərəfdən istifadə etdim. LED sütunları. Kompüterin enerji təchizatına qoşmaq üçün dişi molex konnektoru olan köhnə 40 mm -lik bir kompüter fanı tapdım. Bu mükəmməl idi. Çip üzərindəki az miqdarda hava axını faydalıdır və indi nəzarətçi çiplərinə və Arduinonun özünə 5 volt təmin etmək üçün asan bir yolum var. 1000 ohm istifadə etdim, çünki LED -i işıqlandırmaq üçün kifayət qədər 5 milliamp təmin edir. Super Brite LED -lərindən deyil, Yüksək Parlaqlıqdan istifadə edirəm, buna görə də axıdılması daha aşağıdır. Bir sütundakı bütün 8 LED bir anda yanarsa, bu yalnız 40 milliampdır. A6276EA -nın hər bir çıxışı 90 milliamperi idarə edə bilir, buna görə də diapazonda yaxşı işləyirəm. Həqiqi dəyər, mövcud olduğu müddətdə çox da əhəmiyyətli deyil və çox da böyük deyil. 560 ohm istifadə edirəm, çünki bir çoxu var idi. Kubun hər qatına gedən cərəyanı idarə etmək üçün 6 amperə qədər işləyə bilən bir güc tranzistoru istifadə etdim. Bu layihə üçün həddindən artıqdır, çünki kubun hər bir təbəqəsi bütün LED -ləri yanaraq yalnız 320 milliamp çəkəcəkdir. Otağın böyüməsini istədim və daha sonra daha böyük bir şey üçün nəzarət lövhəsindən istifadə edə bilərdim. Ehtiyaclarınıza uyğun olan hər hansı bir ölçü tranzistorundan istifadə edin. Gərginlik mənbəyində 330 uF kondansatör kiçik gərginlik dalğalanmalarını hamarlaşdırmağa kömək edir. Köhnə bir kompüter enerji təchizatı istifadə etdiyim üçün bu lazım deyil, amma kimsə kubunu gücləndirmək üçün 5 voltluq divar adapterindən istifadə etmək istədiyi halda buraxdım. Hər A6276EA nəzarətçi çipində 16 çıxış var. Başqa uyğun bir konnektorum yox idi, buna görə bəzi 16 pinli IC yuvalarına lehim vurdum və nəzarət lövhəsini kuba bağlamaq üçün istifadə edəcəyəm. Bir IC yuvasını da yarıya endirdim və tranzistorları kubun təbəqələrinə bağlayan 8 teli bağlamaq üçün istifadə etdim. Arduino üçün bağlayıcı olaraq istifadə etmək üçün köhnə disket kabelinin ucundan təxminən 5 düym kəsdim. Disket kabeli 20 sancaqlı 2 sıra, çılpaq Sümüklər Kartında 18 sancaq var. Bu, Arduino'yu lövhəyə bağlamaq üçün çox ucuz bir yoldur (pulsuz). Şerit kabelini 2 teldən ibarət dəstələrə ayırdım, uclarını soydum və birlikdə lehimlədim. Bu, Arduino'yu bağlayıcının hər iki satırına bağlamağa imkan verir. Sxemaya əməl edin və konnektoru yerinə lehimləyin. Arduino -ya enerji vermək üçün 5 volt və topraklama aparatlarını lehimləməyi unutmayın. Modul dizayn mənim üçün yaxşı işlədiyi üçün bu nəzarət kartını digər layihələr üçün istifadə etmək niyyətindəyəm. Bağlantıları sərt şəkildə bağlamaq istəyirsinizsə, bu yaxşıdır.

Addım 5: Vitrin hazırlayın

Vitrin qurun
Vitrin qurun
Vitrin qurun
Vitrin qurun
Vitrin qurun
Vitrin qurun
Vitrin hazırlayın
Vitrin hazırlayın

Son məhsulunuzun gözəl görünməsini təmin edin: Hobbi Lobisində bu taxta sandığı 4 dollara tapdım və içərisində bütün teli tutmaq üçün boş yerə sahib olduğu üçün gözəl göründüyünü düşünürəm. Kompüter masamda istifadə etdiyim bu qırmızı, eyni ləkəni ləkələdim ki, üst -üstə lehimləmə qurğusu üçün istifadə olunan ızgara ilə eyni ölçüdə bir xətt çəkin (xətlər arasında.6 düym). İplərin yuxarıdan keçməsinə icazə vermək üçün deliklər qazın və qat/təyyarə telləri üçün ızgaranın arxasında başqa bir çuxur qazın (4 -cü addımdakı tranzistorlardan). Çətin şəkildə öyrəndim ki, 64 sıraya düzülmək kiçik çuxurlardan keçmək üçün çox çətindir. Nəhayət, prosesin daha sürətli getməsi üçün bir az daha böyük olan bütün delikləri yenidən qazmağa qərar verdim. Təxminən.2 qazma biti istifadə edərək başa vurdum. İndi kub ekranın üstündə oturduğundan, telləri bağladığınız zaman kub yerində qalacaq şəkildə künc açarlarını bükün. Bütün telləri düzgün qaydada bağladığınızdan əmin olun. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64Və təbəqələr (sxematik olaraq 'təyyarələr' etiketli) ilə tranzistorlar arasındakı telləri birləşdirin. Arduino pin 6 üzərindəki tranzistor, kubun üst təbəqəsidir, telləri səhv başa düşsəniz, kod daxilində bir qədər düzəldilə bilər, ancaq çox iş tələb edə bilər, buna görə də onları düzgün qaydada yığmağa çalışın. hər şey hazırdır və getməyə hazırdır, bir kod alaq və sınayaq.

Addım 6: Kod

Kod
Kod

Bu kubun kodu əksəriyyətindən fərqli olaraq edilir, necə uyğunlaşdırılacağını izah edəcəyəm. Əksər kub kodu sütunlara birbaşa yazmağı istifadə edir. Kod, Sütun X -ın yandırılması lazım olduğunu söyləyir, ona bir az meyvə suyu verin və işimiz bitdi. Nəzarətçi çipləri Arduino ilə danışmaq üçün 4 teldən istifadə edir: SPI-in, Clock, Latch və Enable. Enable pinini (pin 21) bir rezistor (RL) vasitəsilə bağladım ki, çıxış həmişə aktiv olsun. Heç vaxt Enable -ı istifadə etmədim, buna görə də koddan çıxardım. SPI-in məlumatları Arduinodan, Clock danışarkən ikisi arasında bir zamanlama siqnalıdır və Latch nəzarətçiyə yeni məlumatları qəbul etməyin vaxtının gəldiyini bildirir. Misal üçün; 1010101010101010 -un idarəediciyə göndərilməsi nəzarətçidəki hər bir LEDin yanmasına səbəb olar. Kodunuz bir ekran üçün lazım olan hər şeyi keçməli və bu ikili nömrəni qurmalı, sonra onu çipə göndərməlidir. Səsləndiyindən daha asandır. Texniki cəhətdən bir az bitli əlavədir, amma hər şeyi ondalıkla etdiyim üçün riyazi matematikdə çox pisəm. İlk 16 bit üçün ondalık aşağıdakı kimidir: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Bu deməkdir çıxışı 2 və 10 -u yandırın, ondalıkları (2 və 512) bir araya gətirərək 514 əldə edin. 514 -ü nəzarətçiyə göndərin və 2 -ci və 10 -cu işıqlar yanacaq. Ancaq 16 -dan çox LED -lərimiz var, buna görə bir az çətinləşir. 4 fiş üçün ekran məlumatları qurmalıyıq. Hansı ki, 1 üçün qurmaq qədər asandır, sadəcə 3 dəfə daha edin. Nəzarət kodlarını saxlamaq üçün qlobal dəyişən bir sıra istifadə edirəm. Göndərməyə hazır olan 4 ekran kodunu hazırladıqdan sonra mandalı buraxın (LOW olaraq təyin edin) və kodları göndərməyə başlayın. Əvvəlcə sonuncunu göndərməlisiniz. Çip 4, sonra 3, sonra 2, sonra 1 üçün kodları göndərin, sonra Mandalı yenidən YÜKSEK olaraq təyin edin. Enable pin həmişə yerə qoşulduğundan, ekran dərhal dəyişir. Instructables-da gördüyüm əksər kub kodları və ümumiyyətlə veb, əvvəlcədən təyin edilmiş bir animasiya yerinə yetirmək üçün nəhəng bir kod blokundan ibarətdir. Kiçik kublar üçün yaxşı işləyir, ancaq hər dəfə ekranı dəyişdirmək istədikdə 512 bit ikili saxlamağa, oxumağa və göndərməyə ehtiyac çox yaddaş tutur. Arduino birdən çox çərçivəni idarə edə bilmədi. Beləliklə, kubu əvvəlcədən təyin edilmiş animasiyalardan çox hesablamaya əsaslanan hərəkətdə göstərmək üçün bəzi sadə funksiyalar yazdım. Necə edildiyini göstərmək üçün kiçik bir animasiya əlavə etdim, ancaq öz ekranlarınızı qurmağı sizə buraxacağam. Cube8x8x8.pde Arduino kodudur. Koda funksiyalar əlavə etməyə davam etməyi planlaşdırıram və proqramı vaxtaşırı yeniləyəcəyəm. Matrix8x8.pde, öz ekranlarınızı qurmaq üçün İşlənmə proqramdır. Verilən ilk nömrə pattern1 , ikincisi pattern2 və s. Daxil olur. A6276EA üçün məlumat cədvəli

Addım 7: Əl işlərinizi göstərin

Əl işlərinizi göstərin
Əl işlərinizi göstərin

Bitirdiniz, indi kubunuzdan zövq almağın vaxtı gəldi. Gördüyünüz kimi, kubum bir az əyri çıxdı. Başqasının tikintisinə çox da həvəsim yoxdur, buna görə də əyri halda yaşayacağam. Baxmalı olduğum bir neçə ölü yer var. Bu pis bir əlaqə ola bilər və ya yeni bir nəzarətçi çipinə ehtiyacım ola bilər. Ümid edirəm ki, bu Təlimat sizə öz kubunuzu və ya A6276AE istifadə edərək başqa bir LED layihəsi qurmağa ilham verir. Bir bağlantı qurarsanız şərhlərdə bir şərh yazın. Buradan hara gedəcəyimə qərar verməyə çalışdım. Nəzarət lövhəsi də 4x4x4 RGB ölçüsündə bir kubu idarə edəcək, buna görə də bu mümkündür. Düşünürəm ki, bir sfera və kodun necə yazıldığını etmək düzgün olardı, bunu etmək çox çətin olmazdı.

Tövsiyə: