Mündəricat:

(POV) Vision Globe'un Davamlılığı: 8 Addım (Şəkillərlə)
(POV) Vision Globe'un Davamlılığı: 8 Addım (Şəkillərlə)

Video: (POV) Vision Globe'un Davamlılığı: 8 Addım (Şəkillərlə)

Video: (POV) Vision Globe'un Davamlılığı: 8 Addım (Şəkillərlə)
Video: The Enigma of Dinosaurs: Are Dinosaurs Still Alive? 2024, Iyul
Anonim
Image
Image
(POV) Görmə Qlobusunun Davamlılığı
(POV) Görmə Qlobusunun Davamlılığı
(POV) Görmə Qlobusunun Davamlılığı
(POV) Görmə Qlobusunun Davamlılığı

Yeniləyin! Yeni şəkillər çəkməyi və kodlamağı çox asanlaşdıran bir excel proqramı əlavə etdim

Görmə dünyasının sadə bir davamlılığı. VİDEO OYNAYIN

Bu, uzun müddətdir düşündüyüm bir layihədir və "Glow Make" müsabiqəsi, köhnə 5 LED POV ekranı çıxarmaq və növbədən istifadə edərək növbəti səviyyəyə qaldırmaq üçün mənə ilham vermək üçün lazım olan motivasiya idi. qeydlər. Bu dərsdən zövq alırsınızsa, zəhmət olmasa ona səs verməyi düşünün.

POV və ya görmə inadkarlığına qısa bir giriş: Hər hansı bir AC gərginlik işığı əslində 60Hz və ya saniyədə 60 dəfə tez -tez yanıb sönür. Beynimiz bunu daimi bir işıq kimi qəbul edir. Bir sıra LED -lərdən istifadə edərək sferik bir görüntü yaratmaq üçün istifadə edəcəyimiz bu anlayışdır. Bu layihə üçün qərara gəldim ki, üç ədəd 8 bitlik keçid qeydindən istifadə edərək sıralanan 24 LED, dünya üçün lazım olan minimum qətnaməni təmin edəcək.

Addım 1: Materiallar

İşdə istifadə etdiyim budur.

  • (1) Arduino Uno (prototip hazırlamaq üçün)
  • (1) Bareduino (daimi lövhə üçün isteğe bağlı) VIRTUABOTIX LINK
  • (3) HC595N Vəziyyət Qeydləri
  • (24) Mavi LEDlər
  • (24) 220 ohm müqavimətçilər
  • (1) çörək taxtası
  • (1) batareya tutacağı və batareya
  • (1) 10 "diametrli üzük (LED -ləri tutmaq üçün kifayət qədər genişdir və çıraq daha yaxşıdır)
  • (1) yivli çubuqdan (5/16 "istifadə etdim)
  • (1) Motor (köhnə Dirt Devil -dən istifadə etmişəm)
  • (1) Motor birləşdiricisi
  • (1) 120V ayırın (işıq açarı)
  • (1) Fan Sürəti Nəzarətçisi

Addım 2: Üzük qurmaq

Üzük qurmaq
Üzük qurmaq
Üzük qurmaq
Üzük qurmaq

Üzüyüm üçün 1/8 "qalın x 1/2" geniş alüminium düz çubuqdan və 5/16 "hamısı orta dirək üçün bir ip istifadə etdim, çünki ətrafa taxdım, amma düşünürəm ki, bu PCB montajı ilə tamamlanan və daha yüngül olan 3D printer. Hər biri Arduinonun ayrı bir DO -nu söndürən 5 LED istifadə edərək əvvəlki hal üçün bu halqanı düzəltdim.

Üzükün diametrində xüsusi bir şey yoxdur. Mənimki təxminən. 10 dəyirmi, çünki düz çubuğumun başlaması 3 'uzun idi. Mən onu Harbor Freight -dan 3 -də 1 -ə qədər kəsmə/əyləc/rulona yuvarladım, ancaq kontrplakdan və yaxşı nəticələr var. Bu səbəbdən üzükün ağacdan hazırlanmasının heç bir səbəbini görmürəm. Yalnız metl işinə üstünlük verirəm.

Təxminən 5/16 "mərkəzində LEDlər üçün deliklər qazdım. Bu boşluq üzükün bir tərəfinin yuxarı və aşağı hissələrində 1" istisna olmaqla hamısını doldurdu. Çörək lövhələrinin montaj səthini təmin etmək üçün halqanın ortasında bir mötərizə bağlamalısınız.

Addım 3: Dövrə qurun

Dövrə qurmaq
Dövrə qurmaq
Dövrə qurmaq
Dövrə qurmaq
Dövrə qurmaq
Dövrə qurmaq

Bu növbə qeydlərindən istifadə etmək üçün ilk cəhdim idi, buna görə Arduino saytında araşdırmalara başladım və ehtiyaclarımı uyğunlaşdırmaq üçün dəyişdirdiyim son dərəcə faydalı bir nümunə tapdım. Dərsliyi əsas kodum olaraq "Kod Nümunəsi 2.3 - Dual Defined Arrays" da yerləşdirdiyim Arduino ShiftOut -da tapa bilərsiniz, daha sonra bu barədə.

Dərsliyi izləsəniz, Arduino -dan növbə qeydlərinə bir -bir ardıcıl olaraq məlumatların necə göndəriləcəyini öyrənəcəksiniz. Bu tənzimləmə, bu layihədəki 24 LED -in hamısını Arduino -da yalnız 3 pinlə idarə etməyə imkan verir. 74HC595 -in 24 bit məlumatı və ya 3 baytı dəyişmə qeydlərinə yükləmək və sonra LED -lərə paralel olaraq məlumat ötürmək üçün paralel çıxış qabiliyyətindən istifadə edəcəyik.

Yüklədiyimiz məlumatların ilk hissəsi son qeydiyyat yerində sona çatacağından, LED1 və ya ən cənub LEDini ilk Shift Qeydiyyatının QO -na əlavə edəcəyik. ShiftOut nümunəsindəki sxemə əməl edin və üçüncü növbənin qeydini ikincisinə əlavə edin, ikincisi birincisinə necə bağlanırsa.

Nümunə kodunu əvvəlcə yalnız bir qeydlə, sonra iki ilə işlətməyi məsləhət görürəm. Nümunə kodu, işıqları elə bir şəkildə sıralayır ki, bir şeyin məftilli olub olmadığını görmək asandır. "Kod Nümunəsi 2.3 - Dual Defined Arrays" a Bayt3 və Mavi adlandırdığım üçüncü bir sıra əlavə edə bildim. Bunu bu addıma yüklənmiş ShiftOutArrayByte3R1 kodunda görə bilərsiniz.

Addım 4: Hamısını bir yerə yığın

Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək

İndi dövrə işlədiyinə əmin olduq, hər şeyi ringə bağlamalıyıq. Arduino/Bareduino'nuzu bir tərəfə və Shift Qeydiyyat Lövhəsini Arduino ilə üzbəüz qoymağı təklif edirəm. Bu, axşam ağırlığından qurtulmanıza kömək edəcək, amma çox güman ki, sabit bir fırlanma əldə olunana qədər bir şeyi hərəkət etdirməlisiniz. Ağırlıq əlavə etmək üçün lazım olan tərəfdən 9 Volt Batareyadan istifadə etdim. Lövhələri və Batareyanı mərkəz Masta bağlamaq üçün fermuar bağlarından istifadə etdim. Bu şəkildə üzüyü balanslaşdırmaq üçün düzəlişlər edə bilərdim.

İndi bütün LEDləri lehimləyin. LED-lərin müsbət gərginliyini idarə etdiyimiz üçün, bütün katot uclarını tək bir izolyasiya edilməmiş tellə birləşdirə və torpağımıza qoşa bilərik. Sonra hər bir LED -in Anod qurğusuna bir rezistor lehimləməliyik və sonra rezistordan müvafiq keçid registrinin çıxış pininə bir tel bağlamalıyıq. Bir LEDinizin olub olmadığını söyləməyin asan bir yolu olaraq quraşdırma döngəsindəki Hamısını Kırpma funksiyasını tərk etdim.

Addım 5: Qlobusun çəkilməsi

Qlobusun çəkilməsi
Qlobusun çəkilməsi
Qlobusun çəkilməsi
Qlobusun çəkilməsi
Qlobusun çəkilməsi
Qlobusun çəkilməsi

!! Yeniləyin !! İndi görüntünü sizin üçün onaltılığa çevirən excel proqramından istifadə edərək rəsm çəkə bilərsiniz. Qırmızı, Mavi və Yaşıl massivlərinizin kodu kopyalanaraq Arduino eskizinə yapışdırıla bilər. LED -in yanmasını istədiyiniz 1 -i doldurun və hüceyrə avtomatik olaraq mavi rəngə çevriləcək! Excel proqramı bu addıma yüklənir. Bu layihə üçün dəyişdirilmiş Rave Shades Animatorunu yerləşdirmək üçün təlimatlandırılan Rave Shades sayəsində

Tamam. İndi sənətlə məşğul olmaq üçün. POV istifadə edərək 360 dərəcə sferik bir ekran yaratmağın əla bir yol olduğunu düşündüyüm üçün bir dünya seçdim, amma bu və növbəti addımda 24x70 nöqtə qətnamə ilə çəkə biləcəyiniz hər hansı bir görüntünü necə yarada biləcəyinizi göstərməyə çalışacağam..

Əvvəlcə bələdçi olaraq istifadə etmək üçün uyğun bir dünya xəritəsi görüntüsü tapdım. Sonra Google Play -də "Mosaic Builder" adlı ehtiyaclarımı mükəmməl bir tətbiq tapdım. Bu addımdakı son şəkildə gördüyünüz kimi 24x70 şablonumda dünya xəritəsi şəklinin aşağı ölçülü bir versiyasını yarada bildim. FYI 24, 3 Bayt məlumatdan gəlir və buna görə 24 LED hündür və 70, üzüklərimin ətrafının 5/16 "ilə bölünməsindən gəlir, üfüqi məsafəni LED -lərin şaquli aralığına yaxınlaşdırır. 70 nöqtə genişliyində üzüyünüzün ölçüsündən asılı olaraq dəyişəcək, lakin kritik deyil. Xüsusilə kritik deyil, çünki tam fırlanmanı hiss etmək və döngəni sıfırlamaq üçün infraqırmızı LED kimi hər hansı bir sensordan istifadə etmirik. Gələcəkdə düşünün, ancaq indiyə qədər mühərrikdə sürət nəzarətimiz olduğu müddətdə sensora ehtiyac yoxdur.

Xoşbəxt olduğunuz bir rəsminiz varsa, növbəti addımda görüntüyü bayt ilə onaltılı koda çevirə bilərsiniz.

Addım 6: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Yeniləyin! Açıq şəkildə təmsil etmək üçün 1s istifadə edərək şəklinizi çəkin ki, bu da avtomatik olaraq pikseli mavi rəngə boyayacaq. Şəkil hazır olduqda "Bütün Diziləri Kopyala" düyməsini basın və Arduino eskizindəki mövcud serialların üzərinə yapışdırın! Bu addıma yeni bir eskiz yüklədim

Daha əvvəl də qeyd etdiyim kimi, Arduino ShiftOut nümunəsindəki "Kod Nümunəsi 2.3 - Dual Defined Arrays" ı əsas olaraq istifadə etdim. Bu kodda gördüyünüz kimi müəllif, Arduinonun birbaşa ikili dəyərləri idarə edə biləcəyindən əmin olmadığını, buna görə də onaltılık dəyərlərin istifadə edildiyini bildirir. Qeyd: Hex dəyərlərinin yanındakı ikili şərhləri heç vaxt dəyişməmişəm, yalnız Hex dəyərlərini dünya xəritəsi şəklimə uyğun olaraq dəyişdirmişəm.

İndi bu, Hexi ikinci dəfə görürdüm və mən heç nədən xəbərsiz idim. Əlavə edilmiş Hexidecimal-Binary dönüşüm cədvəlini tapdım, bu da çox kömək etdi. Bu cədvəl hər bir sütunun ikili dəyərini və ya (Baytı) hex dəyərinə çevirmək üçün istifadə edilə bilər. Məsələn, bu addımdakı son şəkilə baxsanız, dünya xəritəsi görüntüsünün yuxarıdan aşağıya doğru üçdə bir hissəyə necə bölündüyünü və hər bir sütunun ağ və ya sönük = 0 və Mavi və ya Açıq = 1 olduğu 3 Baytdan ibarət olduğunu görə bilərsiniz. hər bir sütunun altındakı bayt, 0-255 arasında bir ondalık dəyər aralığına və ya 00000000 ilə 11111111 aralığına bərabər olan 00 & FF arasında dəyişən Onaltılı bir dəyərə çevrilmişdir.

Əlavə edilmiş kod Globe görüntüsünü yüklədi, ancaq öz şəkliniz üçün dəyişdirilə bilər.

Addım 7: Test

Image
Image
Test
Test

Bir baza və motor montajı qurmağa davam etməzdən əvvəl, dövrəni sınayacağımı və çimdikləyəcəyimi düşündüm. Sadəcə qurğunu simsiz bir qazmaya çevirdim, hər şeyi işə saldım və tətiyi çəkdim. Gecikməni 1 ms -ə ayarlamalı oldum və ilk cəhdim Rusiyanı Avstraliyanın cənubuna qoydu. Şəklin yuxarıya doğru aşağıya doğru göstərildiyini, gözlədiyimdən öyrəndim ki, bu da bütün halqanı çevirmək üçün asan bir həll idi. Əlavə edilmiş video mənim sonuncu uğurlu testimdir. Daimi motoru və sürət tənzimləyicisi olan bir bazanın vaxtıdır.

LEAD GLOBE TESTİNİ OYNAYIN

Addım 8: Bitirin

Bitir!
Bitir!
Bitir!
Bitir!
Bitir!
Bitir!

İşıq açarını mühərrikimi ayırmaq üçün bağladım və sonra fan sürəti tənzimləyicisini ayırma ilə motor arasında bağladım. Bu, elektrik enerjisini tez bir zamanda söndürmək və motor sürətini kifayət qədər yaxşı idarə etmək üçün bir yol verir. İndi motoru dünyaya bağlamaq üçün bir yola ehtiyacım var idi. Motorun şaftı 17/64 "idi və dünya üçün istifadə etdiyim bütün iplik 5/16" idi. 5/16 "bağlayıcı yalnız hiylə ola bilərdi, amma təəssüf ki, məndə yararsız olan 3/8" bağlayıcılar var idi. Bunun əvəzinə 1/2 "alüminium yuvarlaq bir hissə tapdım və 2" uzunluğunda bir parça kəsdim və mərkəzdən 17/64 "delik açdım. Dairəvi hissə. Mən də qazdım və motor şaftı üçün müəyyən bir vida ilə yuvarlamaq üçün yan tərəfdən kiçik bir çuxur vurdum, sonra dünyanı yivlədim və möhkəmləndirmək üçün bir sıxma qozu istifadə etdim. montaj, buna görə də sürəti mümkün qədər aşağı tənzimləməli oldum. Bu sürətlə motor əslində fırlanmağa başlamayacaq, bu da qurğunun işləməsini bir az çətinləşdirir. Etməyim lazım olan şey, dünyanın fırlanmaması və yavaşca qaldırılmasıdır. motor işə düşənə qədər sürəti aşağı sala bilərəm və dünyanı sərbəst buraxa bilərəm. Nəhayət, bir az incə tüninqlə böyük bir yavaş fırlanma effekti əldə edə bilərəm.

VİDEO OYNAYIN

Tövsiyə: