Mündəricat:

Öz POV Ekranınızı yaradın: 3 addım
Öz POV Ekranınızı yaradın: 3 addım

Video: Öz POV Ekranınızı yaradın: 3 addım

Video: Öz POV Ekranınızı yaradın: 3 addım
Video: ÇİFTLERİN HAYATLARINDAKİ DEĞİŞİME UYUM 2024, Noyabr
Anonim
Öz POV Ekranınızı yaradın
Öz POV Ekranınızı yaradın

Vizyonun Algılanması (POV) və ya Vizyonun Davamlılığı (bir neçə dəyişikliyə malikdir), obyektin mövqeyinin dəyişməsinə baxmayaraq bir obyektin vizual qavrayışı dayandırılmadığı zaman ortaya çıxan maraqlı bir insan görmə hadisəsidir. İnsanlar saniyələr kəsir aralığında bir görüntü görür; bu görüntülər çox qısa müddətdə (bir anda) beyində saxlanılır. Bu fenomenin bir nümunəsi, LEDlər və ya ampullər kimi bir işıq mənbəyini yandırıb ətrafa fırladığınız zaman müşahidə etməkdir. Görmə qabiliyyətimiz, fırlanan işığın əslində daimi bir dairə olduğuna inandırmaqla aldadılır. POV uzun illərdir ki, gifoskopdan başlayaraq vizyonumuza müxtəlif illüziyalar və animasiyalar hazırlamaq üçün istifadə olunur; LED -lərdən istifadə edərək ekranlarda mesaj və animasiyalar göstərmək üçün istifadə olunur, onları müxtəlif növ mesajlar üçün 2D və ya 3D formatında çevirir. Bu tətbiq qeydinin məqsədi, qurulacaq ekranda "SILEGO" sözünü yazaraq Görmə Qavrayışının necə işlədiyini dizayn etmək və nümayiş etdirmək və gələcəkdə daha mürəkkəb dizaynların hazırlanması prosesində sizə yol göstərəcək fikirlər verməkdir. Bu layihə üçün, bu prototipin kabellərdən istifadə edərək bütün xarici komponentlərə asanlıqla bağlanmasına imkan verən yuva dəsti ilə Dialog GreenPAK ™ SLG46880 istifadə etdik. Ümumi təyinatlı POV Ekranlarını dizayn etmək üçün daha böyük GreenPAK -dan istifadə, ekranda hər hansı bir naxış çap etməyə imkan verən ASM alt sistemləri kimi möhkəm komponentləri sayəsində çox sərfəlidir. Bu tətbiq SLG46880 istifadə edərək son nəticəni göstərəcəkdir.

Aşağıda, GreenPAK çipinin POV Ekranını yaratmaq üçün necə proqramlaşdırıldığını anlamaq üçün lazım olan addımları təsvir etdik. Ancaq proqramlaşdırmanın nəticəsini əldə etmək istəyirsinizsə, artıq tamamlanmış GreenPAK Dizayn Faylına baxmaq üçün GreenPAK proqramını yükləyin. GreenPAK İnkişaf Kitini kompüterinizə qoşun və POV Ekranı üçün xüsusi IC yaratmaq üçün proqramı vurun.

Addım 1: sxemlər

Sxemalar
Sxemalar

Bu POV Göstərmə nümunəsi, GreenPAK CMIC -də fərqli GPO pinlərinə birbaşa bağlı olan on bir LED (hər biri cərəyanı tənzimləmək üçün rezistorlar olan) bir sıra olan Şəkil 1 -də göstərilən 2D tipini hədəfləyir. Dövrə prototip edilmiş və PCB çörək lövhələrinə lehimlənmişdir. Ekran üçün istifadə olunan enerji təchizatı, 5 V çıxan LM7805V istifadə edərək bir gərginlik tənzimləyici dövrə bağlı olan 9 V 10 A L1022 Qələvi Batareyasıdır. Xüsusi stendə əlavə edilmiş nəzarət dövrəsi. Bu vəziyyətdə, bir əsas açara və 12 voltlu bir mühərrikdən istifadə edildi, bu da motorun bir neçə sürətlə fırlanmasına imkan verən, müxtəlif gərginlik səviyyələrini fırlanan açar vasitəsi ilə çıxarıb.

Addım 2: GreenPAK Dizaynı

GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı
GreenPAK Dizaynı

GreenPAK istifadə edərək bir POV Ekranı üçün fərqli növ mesajlar və animasiyalar tərtib edərkən, çipin həm alətlərini, həm də məhdudiyyətlərini bilməliyik. Bu şəkildə POV ekranını əldə etmək üçün ən az elektron komponentlərindən istifadə edərək bacarıqlı bir dizayn yarada bilərik. Bu dizayn, Asynchronous State Machine Subsystems komponentinə diqqət yetirməklə SLG46880 CMIC -in təqdim etdiyi yeni üstünlüklərdən istifadə edir. SLG46880 ASM Alt Sistem aləti, daha mürəkkəb Dövlət Maşını dizaynlarına imkan verən yeni xüsusiyyətlərinə görə əvvəlki GreenPAK ASM alətlərindən daha üstün ola bilər. Müvafiq ASM Alt Sistemlərinin daxili komponentlərindən bəziləri bunlardır:

● 12 Dövlət ASM Macrocell

● Dinamik Yaddaş (DM) Macrocell

● F (1) Macrocell hesablanması

● Dövlətdən Müstəqil Komponentlər

Çip nə qədər çox dövlət maşın makroselləri yaratmağa və konfiqurasiya etməyə imkan verirsə, dizayn imkanları da o qədər çoxdur. On iki dövlətin hər biri, göstəriləcək sözün fərqli hissələrini yazmaq üçün istifadə edildi, LED -lərin fərqli birləşmələrini yandırdı/söndürdü, bəziləri iki dəfə və ya daha çox təkrarlandı və bəzi hallarda təkrar vəziyyətlərin vaxtı dəyişdirildi, çünki eyni model müxtəlif vaxtlarda fərqli hərflər üçün istifadə edilə bilər. Dövlətlər Cədvəl 1 -də qurulmuşdur.

Cədvəl 1, dizayndakı mövcud vəziyyətlərin hər birinin "SILEGO" sözündəki hərflərlə necə əlaqəli olduğunu göstərir. Bu, Şəkil 2 -də göstərilən LED konfiqurasiyasına aiddir.

Gördüyünüz kimi, fərqli zamanlarda icra edilən bütün dövlətlər sözün tam qurulmasına nail olur, Şəkil 3 dövlətlərin necə əlaqəli/əlaqəli olduğunu göstərir. Bütün əyalətin keçidləri milisaniyələr sırasındadır və Şəkil 2 -də göstərilən sütunların hər biri bir milisaniyəni (1 ms) təmsil edir. Vəziyyətlərin bəziləri 3 ms, 4 ms və digərlərinə uyğundur, təxminən 460 RPM -də video nümayiş üçün istifadə olunan motorun minimum sürəti ilə kifayət qədər uzun.

Ümumi məqsədli dizaynın vaxtını bilmək və hesablamaq üçün motorun sürətini nəzərə almaq və ölçmək vacibdir. Bu yolla mesaj motor sürətiylə sinxronlaşdırıla bilər və bununla da insan gözünə görünür. Vəziyyətlərin keçişini daha az hissedilməz və görmə qabiliyyətimiz üçün daha aydın etmək üçün başqa bir məqam, motorun sürətini 1000 RPM -dən çox artırmaqdır və mesajların düzgün görünməsi üçün vəziyyətlərin vaxtını mikrosaniyələr sırasına təyin etməkdir. Özünüzdən soruşa bilərsiniz, motorun sürətini mesaj və ya animasiya sürəti ilə necə sinxronizasiya edərdiniz? Bu bir neçə sadə düsturla həyata keçirilir. Bir motor sürətiniz 1000 RPM -dirsə, DC motorunun bir inqilabda saniyədə nə qədər vaxt çəkdiyini bilmək üçün:

Tezlik = 1000 RPM / 60 = 16.67 Hz Period = 1 / 16.67 Hz = 59.99 ms

Dövrü bilməklə, motorun bir növbədə nə qədər çəkdiyini bilirsiniz. "Hello World" kimi bir mesajı çap etmək istəyirsinizsə, hər növbənin müddətini bildiyiniz zaman, mesajın ekranda nə qədər böyük olmasını istəməyiniz vacibdir. İstədiyiniz mesajı istədiyiniz ölçüdə çap etmək üçün bu qaydalara əməl edin:

Məsələn, mesajın ekranın 40 % -ni əhatə etməsini istəyirsinizsə, onda:

Mesaj Ölçüsü = (Dövr * 40 %) / 100 % = (59.99 ms * 40 %) / 100 % = 24 ms

Bu, mesajın hər dönüş üçün 24 ms -də göstəriləcəyi deməkdir, buna görə boş yer və ya qalan yer bir növbədə (mesajdan sonra heç nə göstərmirsinizsə) belə olmalıdır:

Boş yer = Dövr - Mesaj Ölçüsü = 59.99 ms - 24 ms = 35.99 ms

Nəhayət, bu 40% -də mesajı göstərməlisinizsə, gözlənilən mesajı yazmaq üçün mesajın neçə vəziyyət və keçid lazım olduğunu bilməlisiniz, məsələn, mesajda iyirmi (20) keçid varsa, o zaman:

Tək Dövlət Dövrü = Mesaj Ölçüsü / 20 = 24 ms / 20 = 1.2 ms.

Mesajı düzgün göstərmək üçün hər bir dövlət 1,2 ms davam etməlidir. Əlbəttə ki, ilk dizaynların çoxunun mükəmməl olmadığını görürsünüz, buna görə də dizaynı yaxşılaşdırmaq üçün fiziki sınaqlar zamanı bəzi parametrləri dəyişə bilərsiniz. Vəziyyət keçidlərini asanlaşdırmaq üçün Dinamik Yaddaş (DM) Makrosellərindən istifadə etdik. Dörd DM blokundan ikisinin matris əlaqələri var ki, ASM alt sistemindən kənar bloklarla qarşılıqlı əlaqə qura bilsinlər. Hər bir DM Macrocell, fərqli dövlətlərdə istifadə edilə bilən 6 fərqli konfiqurasiyaya sahib ola bilər. ASM -in bir vəziyyətdən digərinə keçməsini tetiklemek üçün bu dizaynda DM blokları istifadə olunur. Məsələn, Silego [3] vəziyyəti keçidlər üzərində iki dəfə təkrarlanır; eyni naxışa malik olan "I" hərfinin əvvəlini və sonunu yazmaq lazımdır, amma əvvəlcə "I" hərfinin ortasının naxışını yazmaq üçün əvvəlcə Sileqoya [4] getmək lazımdır. [3] ikinci dəfə icra edilir, qalan keçidləri davam etdirərək Mesajsız vəziyyətə keçməlidir. Silego [3] -un Silego [4] ilə sonsuz bir döngəyə düşməsinin qarşısını necə almaq olar? Sadə, SR Flip Flopları olaraq konfiqurasiya edilmiş bəzi LUT -lər var ki, bu da Silego -ya [3] Sileqonu [4] təkrar -təkrar seçməməyi, lakin ikinci dəfə Mesajsız vəziyyətini seçməyi söyləyir. Hər hansı bir vəziyyət təkrarlandıqda sonsuz döngələrin qarşısını almaq üçün SR Flip Floplardan istifadə etmək bu problemi həll etmək üçün əla bir yoldur və yalnız Şəkil 4 və Şəkil 5-də göstərildiyi kimi konfiqurasiya edilmiş 3 bitlik LUT tələb edir. Bu proses eyni vaxtda baş verir. ASM çıxışı Silego'yu [3] Sileqoya [4] getməyə məcbur edir, buna görə də növbəti dəfə dövlət maşını Silego'yu [3] icra etdikdə, prosesi davam etdirmək üçün Mesajsız vəziyyətinin seçilməsi bildiriləcək.

Bu layihə üçün faydalı olan başqa bir ASM bloku F (1) Computational Macrocell -dir. F (1) istədiyiniz məlumatları oxumaq, saxlamaq, emal etmək və çıxarmaq üçün xüsusi əmrlərin siyahısını yerinə yetirə bilər. Bir anda 1 biti idarə edə bilir. Bu layihədə F (1) bloku, bəzi LUT -ləri idarə etmək və vəziyyətləri aktivləşdirmək üçün bitləri oxumaq, gecikdirmək və çıxarmaq üçün istifadə edilmişdir (məsələn, Silego [1] -də Sileqonu [2] aktivləşdirmək üçün).

Şəkil 1 -dəki cədvəldə, LED -lərin hər birinin GreenPAK -ın GPO pinlərinə necə ünvanlandığı açıqlanır; əlaqəli fiziki sancaqlar, Cədvəl 2 -də göstərildiyi kimi, matrisdəki ASM Çıxış RAM -dan ünvanlanır.

Cədvəl 2 -də gördüyünüz kimi, çipin hər bir pimi fərqli ASM çıxışlarına yönəldilmişdir; ASMOUTPUT 1, OUT 4 və OUT 1 -in PİN 4 və PIN 16 -ya birbaşa bağlı olduğu dörd (4) çıxışa malikdir. OUT 2, Silego [5] və Silego [9] vəziyyətlərində LUT5 və LUT6 sıfırlamaq üçün istifadə olunur və nəhayət OUT 3, Silego [4] və Silego [7] da LUT6 qurmaq üçün istifadə olunur. ASM nRESET bu dizaynda dəyişdirilmir, buna görə də VDD -yə qoşulmaq üçün YÜKSƏK məcbur edilir. "SILEGO" göstərilərkən əlavə animasiya etmək üçün bu layihəyə Yuxarı və Aşağı LEDlər əlavə edildi. Bu animasiya, zaman keçdikcə motorun hərəkəti ilə dolanan bir neçə sətirdən ibarətdir. Bu sətirlər ağ LED -lərdir, hərfləri yazmaq üçün istifadə edilənlər qırmızıdır. Bu animasiyanı əldə etmək üçün GreenPAK -ın PGEN və CNT0 -dən istifadə etdik. PGEN, sonrakı biti hər saat kənarında çıxaracaq bir model generatorudur. Motorun dönmə müddətini 16 hissəyə böldük və nəticə CNT0 çıxış müddətinə təyin edildi. PGEN -də proqramlaşdırılmış model Şəkil 6 -da göstərilmişdir.

Addım 3: Nəticələr

Nəticələr
Nəticələr

Dizaynı sınamaq üçün SLG46880 -in yuvasını lent kabeli ilə PCB -yə bağladıq. Dövrə iki xarici lövhə qoşuldu, onlardan birində gərginlik tənzimləyicisi, digəri isə LED diapazonu idi. Mesajın nümayiş üçün göstərilməsinə başlamaq üçün GreenPAK tərəfindən idarə olunan məntiq sxemini və sonra DC motorunu işə saldıq. Düzgün sinxronizasiya üçün sürətin tənzimlənməsi lazım ola bilər. Son nəticə Şəkil 7 -də göstərilmişdir. Bu tətbiq qeydi ilə əlaqəli bir video da var.

Bu layihədə təqdim olunan Vision Display Algısı, əsas nəzarətçi olaraq Dialog GreenPAK SLG46880 istifadə edərək hazırlanmışdır. Dizaynın LEDlərdən istifadə edərək "SILEGO" sözünü yazaraq işlədiyini nümayiş etdirdik. Dizaynda edilə biləcək bəzi inkişaflar bunlardır:

● Daha çox mesaj və ya animasiya çap etmək imkanlarının miqdarını artırmaq üçün birdən çox GreenPAK istifadə etmək.

● Diziyə daha çox LED əlavə edin. Fırlanan qolun kütləsini azaltmaq üçün deşikli LED-lərdən çox yerüstü LED-lərdən istifadə etmək faydalı ola bilər.

● Mikro nəzarətçi daxil etmək, GreenPAK dizaynını yenidən konfiqurasiya etmək üçün I2C əmrlərindən istifadə edərək göstərilən mesajı dəyişməyə imkan verə bilər. Bu, vaxtın dəqiq göstərilməsi üçün rəqəmləri yeniləyən rəqəmsal saat ekranı yaratmaq üçün istifadə edilə bilər

Tövsiyə: