Daftar Isi:

Buat Tampilan POV Anda Sendiri: 3 Langkah
Buat Tampilan POV Anda Sendiri: 3 Langkah

Video: Buat Tampilan POV Anda Sendiri: 3 Langkah

Video: Buat Tampilan POV Anda Sendiri: 3 Langkah
Video: Tutorial whatsmock || by nadhifaa 2024, Juli
Anonim
Buat Tampilan POV Anda Sendiri
Buat Tampilan POV Anda Sendiri

Perception of Vision (POV) atau Persistence of Vision (memiliki beberapa variasi) adalah fenomena penglihatan manusia yang menarik yang terjadi ketika persepsi visual suatu objek tidak berhenti meskipun objek berubah posisi. Manusia melihat gambar dalam interval sepersekian detik; gambar-gambar ini disimpan ke dalam otak untuk waktu yang sangat singkat (sekejap). Contoh dari fenomena ini adalah ketika Anda mengamati sumber pencahayaan seperti LED atau bohlam, dihidupkan dan berputar. Visi kami ditipu untuk percaya bahwa cahaya yang berputar sebenarnya adalah lingkaran yang terus menerus, seperti lingkaran kontinu yang terbentuk dari baling-baling yang berputar di pesawat. POV telah digunakan selama bertahun-tahun, dimulai dengan giphoscope, untuk membuat berbagai jenis ilusi dan animasi pada visi kita; itu sering digunakan untuk menampilkan pesan dan animasi pada tampilan menggunakan LED, memutarnya dalam 2D atau 3D untuk berbagai jenis pesan. Tujuan dari catatan aplikasi ini adalah untuk merancang dan mendemonstrasikan cara kerja Persepsi Visi dengan menuliskan kata “SILEGO” pada layar yang akan dibangun, dan memberikan ide untuk memandu Anda melalui proses pembuatan desain yang lebih kompleks di masa mendatang. Untuk proyek ini, kami menggunakan Dialog GreenPAK™ SLG46880, dengan kit soketnya yang memungkinkan prototipe ini mudah dihubungkan ke semua komponen eksternal menggunakan kabel. Menggunakan GreenPAK yang lebih besar untuk merancang Tampilan POV tujuan umum sangat menguntungkan karena komponennya yang kuat seperti subsistem ASM, yang memungkinkan Anda untuk mencetak segala jenis pola pada tampilan. Aplikasi ini akan menampilkan hasil akhir menggunakan SLG46880.

Di bawah ini kami menjelaskan langkah-langkah yang diperlukan untuk memahami bagaimana chip GreenPAK telah diprogram untuk membuat Tampilan POV. Namun, jika Anda hanya ingin mendapatkan hasil pemrograman, unduh perangkat lunak GreenPAK untuk melihat File Desain GreenPAK yang sudah selesai. Colokkan Kit Pengembangan GreenPAK ke komputer Anda dan tekan program untuk membuat IC khusus untuk Tampilan POV.

Langkah 1: Skema

skema
skema

Contoh Tampilan POV ini menargetkan tipe 2D yang ditunjukkan pada Gambar 1, yang memiliki susunan sebelas LED (masing-masing dengan resistor untuk mengatur arus) yang terhubung langsung ke pin GPO yang berbeda pada GreenPAK CMIC. Sirkuit ini dibuat prototipe dan disolder ke papan tempat memotong roti PCB. Catu daya yang digunakan untuk Display adalah Baterai Alkaline 9 V 10 A L1022, dihubungkan ke rangkaian pengatur tegangan menggunakan LM7805V yang outputnya 5 V. Selain untuk membuat display berputar, diperlukan Motor DC dengan kekuatan yang cukup untuk menggerakkan semua sirkuit kontrol yang terpasang pada dudukan yang disesuaikan. Dalam hal ini motor 12 V digunakan, dihubungkan ke sakelar utama, dan catu daya yang diatur sendiri yang mengeluarkan tingkat tegangan berbeda melalui sakelar putar, yang memungkinkan motor berputar pada beberapa kecepatan.

Langkah 2: Desain GreenPAK

Desain GreenPAK
Desain GreenPAK
Desain GreenPAK
Desain GreenPAK
Desain GreenPAK
Desain GreenPAK
Desain GreenPAK
Desain GreenPAK

Saat merancang berbagai jenis pesan dan animasi untuk Tampilan POV menggunakan GreenPAK, kita harus mengetahui alat dan batasan chip. Dengan cara ini kita dapat membuat desain yang mahir, menggunakan komponen elektronik paling sedikit untuk mencapai tampilan POV. Desain ini menggunakan keunggulan baru yang ditawarkan oleh SLG46880 CMIC, dengan fokus pada komponen Asynchronous State Machine Subsystems. Alat Subsistem ASM SLG46880 dapat lebih menguntungkan daripada alat ASM GreenPAK sebelumnya karena fitur barunya, yang memungkinkan desain State Machine yang lebih kompleks. Beberapa komponen internal Subsistem ASM yang relevan digunakan adalah:

● Macrocell ASM 12-Negara Bagian

● Memori Dinamis (DM) Macrocell

● F(1) Makrocell Komputasi

● Komponen Independen Negara

Semakin banyak sel makro mesin negara yang memungkinkan chip untuk dibuat dan dikonfigurasi, semakin banyak kemungkinan desain. Masing-masing dari dua belas keadaan digunakan untuk menulis pecahan berbeda dari kata yang akan ditampilkan, menyalakan/mematikan kombinasi LED yang berbeda, beberapa di antaranya diulang dua kali atau lebih, dan dalam beberapa kasus waktu keadaan berulang diubah, karena pola yang sama dapat digunakan untuk huruf yang berbeda pada waktu yang berbeda. Negara disusun dalam Tabel 1.

Tabel 1 menunjukkan bagaimana masing-masing keadaan yang ada dalam desain terkait dengan huruf-huruf dalam kata “SILEGO”. Ini berkorelasi dengan konfigurasi LED yang ditunjukkan pada Gambar 2.

Seperti yang dapat Anda amati, semua status yang dieksekusi bersama-sama pada waktu yang berbeda mencapai pembuatan kata yang lengkap, Gambar 3 menunjukkan bagaimana status terhubung/berhubungan. Semua transisi keadaan berada dalam urutan milidetik, dan masing-masing kolom dalam diagram Gambar 2 mewakili satu milidetik (1 ms). Beberapa keadaan bertahan 3 ms, 4 ms dan lain-lain, cukup lama dengan kecepatan minimum motor yang digunakan untuk demonstrasi video sekitar 460 RPM.

Penting untuk mempertimbangkan dan mengukur kecepatan motor untuk mengetahui dan menghitung waktu pada desain tujuan umum. Dengan cara ini pesan dapat disinkronkan dengan kecepatan motor, sehingga terlihat oleh mata manusia. Pertimbangan lain untuk membuat transisi status tidak terlalu terlihat, dan lebih jelas bagi penglihatan kita, adalah meningkatkan kecepatan motor hingga lebih dari 1000 RPM, dan pengaturan waktu status diatur dalam urutan mikrodetik sehingga pesan dapat dilihat dengan lancar. Anda mungkin bertanya pada diri sendiri, bagaimana Anda menyinkronkan kecepatan motor dengan kecepatan pesan atau animasi? Ini dicapai dengan beberapa formula sederhana. Jika Anda memiliki kecepatan motor 1000 RPM, untuk mengetahui berapa lama waktu yang dibutuhkan motor DC per putaran dalam detik, maka:

Frekuensi = 1000 RPM / 60 = 16,67 Hz Periode = 1 / 16,67 Hz = 59,99 ms

Dengan mengetahui periode, Anda tahu berapa lama motor dalam satu putaran. Jika Anda ingin mencetak pesan seperti “Hello World”, setelah Anda mengetahui periode setiap giliran, tinggal seberapa besar pesan yang Anda inginkan untuk ditampilkan. Untuk mencetak pesan yang diinginkan pada ukuran yang diinginkan, ikuti aturan praktis ini:

Jika, misalnya, Anda ingin pesan mencakup 40% ruang tampilan, maka:

Ukuran Pesan = (Periode * 40 %) / 100 % = (59,99 md * 40 %) / 100 % = 24 md

Itu berarti pesan akan ditampilkan dalam 24 ms untuk setiap giliran, jadi ruang kosong atau sisa ruang dalam giliran (jika Anda tidak menampilkan sesuatu setelah pesan), harus:

Ruang Kosong = Periode – Ukuran Pesan = 59,99 md - 24 md = 35,99 md

Terakhir, jika Anda perlu menampilkan pesan pada 40% periode tersebut, Anda perlu mengetahui berapa banyak status dan transisi yang diperlukan pesan untuk menulis pesan yang diharapkan, misalnya jika pesan memiliki dua puluh (20) transisi, maka:

Periode Status Tunggal = Ukuran Pesan / 20 = 24 ms / 20 = 1,2 ms.

Jadi setiap status harus bertahan 1,2 ms untuk menampilkan pesan dengan benar. Tentu saja, Anda akan melihat bahwa sebagian besar desain pertama tidak sempurna, jadi Anda mungkin mengubah beberapa parameter selama pengujian fisik untuk meningkatkan desain. Kami menggunakan Dynamic Memory (DM) Macrocells untuk memfasilitasi transisi status. Dua dari empat blok DM memiliki koneksi matriks sehingga dapat berinteraksi dengan blok di luar subsistem ASM. Setiap DM Macrocell dapat memiliki hingga 6 konfigurasi berbeda yang dapat digunakan di berbagai status. Blok DM digunakan dalam desain ini untuk memicu ASM bertransisi dari satu keadaan ke keadaan lainnya. Misalnya status Silego [3] diulang dua kali selama transisi; itu perlu menulis awal dan akhir huruf besar "I" yang memiliki pola yang sama, tetapi pertama-tama harus pergi ke Silego [4] untuk menulis pola tengah huruf besar "I", dan kemudian ketika Silego [3] dieksekusi untuk kedua kalinya, ia harus beralih ke status Tidak Ada Pesan, melanjutkan transisi lainnya. Bagaimana mungkin mencegah Silego [3] jatuh ke loop tak terbatas dengan Silego [4]? Sederhana saja, ada beberapa LUT yang dikonfigurasi sebagai SR Flip Flops yang memberitahu Silego [3] untuk tidak memilih Silego [4] berulang-ulang, tetapi memilih status No Message untuk kedua kalinya. Menggunakan SR Flip Flops untuk mencegah infinite loop ketika salah satu status diulang adalah cara yang bagus untuk menyelesaikan masalah ini, dan hanya memerlukan LUT 3-bit yang dikonfigurasi seperti yang ditunjukkan pada Gambar 4 dan Gambar 5. Proses ini terjadi pada saat yang sama dengan output ASM membuat Silego [3] untuk pergi ke Silego [4], sehingga saat berikutnya mesin negara mengeksekusi Silego [3], akan diberitahukan untuk memilih status No Message untuk melanjutkan proses.

Blok ASM lain yang membantu proyek ini adalah F(1) Computational Macrocell. F(1) dapat melakukan daftar perintah khusus untuk membaca, menyimpan, memproses, dan mengeluarkan data yang diinginkan. Hal ini dapat memanipulasi 1 bit pada suatu waktu. Dalam proyek ini, blok F(1) digunakan untuk membaca, menunda, dan mengeluarkan bit untuk mengontrol beberapa LUT dan mengaktifkan status (seperti di Silego [1] untuk mengaktifkan Silego [2]).

Tabel pada Gambar 1 menjelaskan bagaimana masing-masing LED dialamatkan ke pin GPO GreenPAK; pin fisik terkait dialamatkan dari ASM Output RAM dalam matriks, seperti yang ditunjukkan pada Tabel 2.

Seperti yang Anda lihat pada Tabel 2, setiap pin chip dialamatkan ke output ASM yang berbeda; ASMOUTPUT 1 memiliki delapan (8) output semua digunakan terhubung langsung ke GPO eksternal kecuali OUT 4. ASM OUTPUT 0 memiliki empat (4) output dimana OUT 0 dan OUT 1 terhubung langsung ke PIN 4 dan PIN 16 masing-masing; OUT 2 digunakan untuk mereset LUT5 dan LUT6 pada keadaan Silego [5] dan Silego [9] dan terakhir OUT 3 digunakan untuk mengatur LUT6 pada keadaan Silego [4] dan Silego [7]. ASM nRESET tidak diaktifkan dalam desain ini sehingga hanya dipaksa ke HIGH yang terhubung ke VDD. LED Atas dan Bawah ditambahkan ke proyek ini untuk membuat animasi tambahan saat "SILEGO" sedang ditampilkan. Animasi ini adalah tentang beberapa garis yang berputar seiring waktu dengan gerakan motor. Garis-garis ini adalah LED putih, sedangkan yang digunakan untuk menulis huruf berwarna merah. Untuk mencapai animasi ini, kami menggunakan PGEN dan CNT0 GreenPAK. PGEN adalah generator pola yang akan mengeluarkan bit berikutnya dalam lariknya di setiap tepi jam. Kami membagi periode putaran motor menjadi 16 bagian, dan hasilnya diatur ke periode output CNT0. Pola yang diprogram ke dalam PGEN ditunjukkan pada Gambar 6.

Langkah 3: Hasil

Hasil
Hasil

Untuk menguji desain, kami menghubungkan soket SLG46880 ke PCB dengan kabel pita. Dua papan eksternal terhubung ke sirkuit, salah satunya berisi pengatur tegangan dan yang lainnya berisi susunan LED. Untuk mulai menampilkan pesan demonstrasi, kami menyalakan rangkaian logika yang dikendalikan oleh GreenPAK, dan kemudian menyalakan motor DC. Kecepatan mungkin perlu disesuaikan untuk sinkronisasi yang tepat. Hasil akhir ditunjukkan pada Gambar 7. Ada juga video terkait dengan catatan aplikasi ini.

Kesimpulan Tampilan Persepsi Visi yang disajikan dalam proyek ini dirancang menggunakan Dialog GreenPAK SLG46880 sebagai pengontrol utama. Kami mendemonstrasikan bahwa desain bekerja dengan menulis kata “SILEGO” menggunakan LED. Beberapa perbaikan yang dapat dilakukan pada desain antara lain:

● Menggunakan beberapa GreenPAK untuk meningkatkan jumlah kemungkinan status untuk mencetak pesan atau animasi yang lebih panjang.

● Tambahkan lebih banyak LED ke larik. Mungkin berguna untuk menggunakan LED pemasangan permukaan daripada LED lubang untuk mengurangi massa lengan pemintal.

● Menyertakan mikrokontroler memungkinkan Anda mengubah pesan yang ditampilkan dengan menggunakan perintah I2C untuk mengkonfigurasi ulang desain GreenPAK. Ini dapat digunakan untuk membuat tampilan jam digital yang memperbarui angka untuk menampilkan waktu secara akurat

Direkomendasikan: