
Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Memulai Pengkodean
- Langkah 3: File Kendala
- Langkah 4: File Flip Flop
- Langkah 5: File Segmen
- Langkah 6: File Pembagi Jam
- Langkah 7: File Sinyal Servo
- Langkah 8: File Servo Atas
- Langkah 9: File Teratas
- Langkah 10: Menguji di Vivado
- Langkah 11: Membangun Pengenalan Perangkat Keras
- Langkah 12: Persiapan
- Langkah 13: Menyolder
- Langkah 14: Final
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49

Untuk kelas CPE 133 kami di Cal Poly, kami diminta untuk membuat proyek VHDL/Basys 3 yang akan membantu lingkungan dan cukup sederhana sehingga kami dapat menerapkannya dengan pengetahuan baru kami tentang desain digital. Gagasan di balik proyek kami bahwa, secara umum, orang tidak memikirkan di mana mereka membuang sampah. Kami memutuskan untuk membuat mesin yang akan memaksa orang untuk memikirkan tempat mereka membuang sampah. Penyortir sampah kami menerima masukan pengguna melalui tiga sakelar, masing-masing mewakili sampah, daur ulang, atau kompos. Setelah pengguna memilih jenis sampah yang ingin mereka buang, mereka menekan tombol. Tombol ini akan menyebabkan tutup wadah yang sesuai terbuka. Mesin juga menggunakan tampilan pada Basys 3 untuk menunjukkan apakah ada penutup yang sedang terbuka. Saat tombol dilepas, tutupnya akan menutup kembali sehingga mesin siap digunakan untuk pengguna berikutnya.
Langkah 1: Bahan



Bahan-bahan yang dibutuhkan untuk proyek ini adalah:
Papan Basy 3
Komputer dengan Vivado diinstal
3x servo*
3 kaki kawat tembaga
Pemotong Kawat/Stripper
Besi solder dan solder
*karena servo mahal dan kami adalah mahasiswa, kami mengganti resistor 68 ohm dan LED untuk setiap servo sebagai prototipe (kode berfungsi dengan cara yang sama)
Langkah 2: Memulai Pengkodean



Ada banyak kode yang harus ditulis untuk proyek ini. Kami akan menggunakan kode VHDL yang ditulis dalam Vivado. Untuk memulai kita akan ingin membuat proyek baru. Pertama, Anda akan memberi nama proyek dan menentukan jenis proyek. Pastikan untuk memilih pengaturan yang sama seperti yang digambarkan. Ketika Anda telah masuk ke layar sumber Anda akan ingin menambahkan enam sumber bernama "top", "flip_flop", "segments", "servo_top", "servo_sig" dan "clk_div". Pastikan untuk memilih VHDL untuk bahasa setiap file, bukan Verilog. Pada layar batasan Anda harus membuat satu file untuk penetapan pin. Nama file ini tidak penting. Anda kemudian akan diminta untuk memilih papan yang akan Anda gunakan. Pastikan Anda memilih yang benar. Referensi foto untuk pemilihan yang benar. Langkah terakhir akan meminta Anda untuk menentukan input dan output dari setiap file sumber. Langkah ini bisa dikodekan nanti jadi klik next.
Langkah 3: File Kendala


Pada langkah ini kita akan menulis file constraint. Ini memberi tahu Vivado pin mana yang akan mengirim/menerima sinyal mana dari sirkuit. Kita akan membutuhkan jam, tiga sakelar, tampilan tujuh segmen (tujuh katoda dan empat anoda), sebuah tombol dan tiga pin output PMOD yang akan digunakan servo/LED. Referensi foto untuk bagaimana kode akan terlihat.
Langkah 4: File Flip Flop

File selanjutnya yang akan kita tulis adalah file sumber flip_flip. Ini akan menjadi implementasi VHDL dari D flip flop. Dengan kata lain itu hanya akan meneruskan inputnya ke output di tepi naik sinyal jam dan ketika tombol ditekan. Ini akan mengambil jam, D dan tombol sebagai input dan akan menampilkan Q. referensi foto untuk kode. Tujuan dari file ini adalah untuk memungkinkan tempat sampah terbuka hanya ketika tombol ditekan daripada langsung membuka setiap kali sakelar dibalik dan hanya menutup ketika sakelar dibalik.
Langkah 5: File Segmen

File selanjutnya yang akan ditulis adalah file segmen. Ini akan mengambil tombol seperti pada nilai input dan output untuk tujuh katoda dan empat anoda dari tampilan tujuh segmen Basys 3. File ini menyebabkan tampilan tujuh segmen menampilkan "C" saat nampan ditutup dan "O" saat nampan terbuka. Untuk kode lihat foto terlampir.
Langkah 6: File Pembagi Jam

Servos berfungsi dengan mengambil sinyal PWM dengan frekuensi 64k Hz sedangkan clock yang dibangun ke dalam Basys 3 berfungsi pada 50M Hz. File pembagi jam akan mengubah jam default menjadi frekuensi yang bersahabat untuk servo. File akan mengambil jam dan sinyal reset sebagai input dan akan mengeluarkan sinyal jam baru. Lihat foto terlampir untuk kode.
Langkah 7: File Sinyal Servo

File sinyal servo akan mengambil input jam, input reset dan input posisi yang diinginkan. Ini akan mengeluarkan sinyal PWM yang akan menggerakkan servo ke posisi yang diinginkan. File ini menggunakan sinyal clock yang dibuat di file terakhir untuk membuat sinyal PWM untuk servo dengan siklus tugas yang berbeda tergantung pada posisi yang diinginkan. Ini memungkinkan kita untuk memutar servos yang mengontrol tutup tempat sampah. Lihat foto terlampir untuk kode.
Langkah 8: File Servo Atas

Tujuan dari file ini adalah untuk mengkompilasi dua file terakhir menjadi driver servo fungsional. Ini akan mengambil jam, reset dan posisi sebagai input dan akan mengeluarkan sinyal PWM servo. Ini akan menggunakan pembagi jam dan file sinyal servo sebagai komponen dan akan menyertakan sinyal jam internal untuk melewatkan jam yang dimodifikasi dari pembagi jam ke file sinyal servo. Lihat foto di
Langkah 9: File Teratas




Ini adalah file proyek yang paling penting karena membungkus semua yang telah kita buat bersama. Ini akan mengambil tombol, tiga sakelar dan jam sebagai input. Ini akan memberikan tujuh katoda, empat anoda dan tiga sinyal servo / LED sebagai output. Ini akan menggunakan flip flop, segmen dan file servo_top sebagai komponen dan akan memiliki saklar internal dan sinyal servo internal.
Langkah 10: Menguji di Vivado
Jalankan Sintesis, implementasi, dan tulis bitsream di Vivado. Jika Anda menemukan pesan kesalahan, temukan lokasi kesalahan dan kemudian bandingkan dengan kode yang diberikan. Selesaikan kesalahan apa pun hingga semua proses ini selesai dengan sukses.
Langkah 11: Membangun Pengenalan Perangkat Keras
Pada langkah ini Anda akan membuat perangkat keras LED yang kami gunakan dalam prototipe kami. Jika menggunakan servos, proyek harus siap selama pin yang benar digunakan. Jika menggunakan LED ikuti langkah-langkah di bawah ini.
Langkah 12: Persiapan
Potong kawat menjadi enam bagian genap. Kupas ujung masing-masing kawat secukupnya sehingga penyolderan dapat terjadi. Pisahkan LED, resistor, dan kabel menjadi tiga kelompok. Panaskan besi solder.
Langkah 13: Menyolder


Solder masing-masing resistor 68 ohm ke sisi negatif dari LED yang sesuai. Solder kabel ke sisi positif LED dan kabel lain ke sisi resistor yang tidak disolder ke led. Anda harus memiliki tiga alat LED yang digambarkan di atas.
Langkah 14: Final

Masukkan setiap kabel positif ke pin PMOD yang sesuai dan masing-masing negatif ke pin PMOD ground. Secara opsional tambahkan tempat sampah karton untuk mewakili tempat sampah dan sembunyikan kekacauan penyolderan Anda. Setelah kabel dicolokkan dengan benar dan kode diunggah dengan benar ke papan tanpa kesalahan, mesin harus berfungsi sebagaimana dimaksud. Jika ada yang salah, kembali ke langkah sebelumnya untuk memecahkan masalah. Bersenang-senanglah dengan "penyortir sampah" baru Anda.
Direkomendasikan:
Cara Membuat Kode Penyortir Warna di Modkit untuk Vex: 7 Langkah

Cara Membuat Kode Penyortir Warna di Modkit untuk Vex: Hai semuanya,Dalam tutorial ini Anda akan belajar cara membuat kode penyortir bola warna di Modkit untuk VexSemoga Anda berhasil dan menikmati! Tolong pilih saya
Proyek Akhir CPE 133 Desimal ke Biner: 5 Langkah

Tugas Akhir CPE 133 Desimal ke Biner: Bilangan Biner adalah salah satu hal pertama yang terlintas dalam pikiran ketika memikirkan logika digital. Namun, Bilangan Biner bisa menjadi konsep yang sulit bagi mereka yang baru mengenalnya. Proyek ini akan membantu mereka yang baru dan berpengalaman dengan bilangan biner mas
Penyortir Warna: 6 Langkah

Penyortir Warna: Tujuan Penyortir Warna ini adalah untuk memindahkan m&m ke tumpukan yang berbeda berdasarkan warnanya
Metronom CPE 133: 3 Langkah

CPE 133 Metronom: Untuk tugas akhir kami di Cal Poly kami membuat alat pengatur tempo yang disebut metronom, kami memilih proyek ini karena minat musik dan desain digital. Kami menggunakan lab sebelumnya di CPE 133 untuk membantu merancang kode kami dan tutorial online untuk membantu dalam co
BATU SAMPAH -- Hilangkan Sampah yang Tidak Dapat Didaur Ulang: 8 Langkah

BATU SAMPAH -- Singkirkan Sampah yang Tidak Dapat Didaur Ulang: Untuk membuat batu sampah, pertama-tama karung dijahit dari jala. Itu diisi dengan sampah dan diplester dengan semen. Kerang yang dihasilkan memiliki bentuk yang unik dan terlihat sangat alami. Batuan sampah secara estetis dan konstruktif