
Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Pengekodan Awal
- Langkah 3: Fail Kekangan
- Langkah 4: Fail Flip Flop
- Langkah 5: Fail Segmen
- Langkah 6: Fail Pembahagi Jam
- Langkah 7: Fail Isyarat Servo
- Langkah 8: Fail Atas Servo
- Langkah 9: Fail Teratas
- Langkah 10: Ujian di Vivado
- Langkah 11: Membina Pengenalan Perkakasan
- Langkah 12: Persiapan
- Langkah 13: Pematerian
- Langkah 14: Akhir
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01

Untuk kelas CPE 133 kami di Cal Poly kami diberitahu untuk membuat projek VHDL / Basys 3 yang dapat membantu persekitaran dan cukup sederhana sehingga kami dapat melaksanakannya dengan pengetahuan baru kami mengenai reka bentuk digital. Idea di sebalik projek kami bahawa, secara umum, orang tidak memikirkan di mana mereka membuang sampah mereka. Kami memutuskan untuk membuat mesin yang akan memaksa orang untuk memikirkan tempat mereka membuang sampah. Penyusun sampah kami mengambil input pengguna melalui tiga suis, masing-masing mewakili sampah, kitar semula atau kompos. Setelah pengguna memilih mereka jenis sampah yang mereka ingin membuang mereka menekan butang. Butang ini akan menyebabkan penutup bekas yang sesuai terbuka. Mesin juga menggunakan paparan di Basys 3 untuk menunjukkan jika penutup mana-mana yang terbuka. Apabila butang dilepaskan, penutup akan ditutup semula sehingga mesin siap untuk pengguna seterusnya.
Langkah 1: Bahan



Bahan yang diperlukan untuk projek ini adalah:
Papan basys 3
Komputer dengan Vivado dipasang
3x servo *
Wayar tembaga 3 kaki
Pemotong Kawat / Stripper
Pateri dan pateri
* kerana servo itu mahal dan kita sebagai pelajar kolej, kita menggantikan perintang 68 ohm dan LED untuk setiap servo sebagai prototaip (kod berfungsi dengan cara yang sama)
Langkah 2: Pengekodan Awal



Terdapat banyak kod yang perlu ditulis untuk projek ini. Kami akan menggunakan kod VHDL yang ditulis di Vivado. Untuk memulakan kami ingin membuat projek baru. Mula-mula anda akan menamakan projek dan menentukan jenis projek. Pastikan untuk memilih tetapan yang sama seperti yang digambarkan. Apabila anda telah sampai ke layar sumber, anda akan mahu menambahkan enam sumber bernama "atas", "flip_flop", "segmen", "servo_top", "servo_sig" dan "clk_div". Pastikan untuk memilih VHDL untuk bahasa setiap fail, bukan Verilog. Pada skrin kekangan anda harus membuat satu fail untuk penugasan pin. Nama fail ini tidak penting. Anda kemudian akan diminta untuk memilih papan yang akan anda gunakan. Pastikan anda memilih yang betul. Foto rujukan untuk pemilihan yang betul. Langkah terakhir akan meminta anda menentukan input dan output dari setiap fail sumber. Langkah ini dapat dikodkan kemudian jadi klik seterusnya.
Langkah 3: Fail Kekangan


Pada langkah ini kita akan menulis fail kekangan. Ini memberitahu Vivado pin mana yang akan menghantar / menerima isyarat mana dari litar. Kita memerlukan jam, tiga suis, paparan tujuh segmen (tujuh katod dan empat anod), butang dan tiga pin PMOD keluaran yang akan digunakan oleh servo / LED. Foto rujukan untuk bagaimana kod itu kelihatan.
Langkah 4: Fail Flip Flop

Fail seterusnya yang akan kita tulis adalah fail sumber flip_flip. Ini akan menjadi pelaksanaan VHDL dari flip flop D. Dengan kata lain, ia hanya akan menyampaikan inputnya ke output pada tepi isyarat jam yang meningkat dan apabila butang ditekan. Ia akan mengambil jam, D dan butang sebagai input dan akan mengeluarkan Q. merujuk foto untuk kod. Tujuan fail ini adalah untuk membiarkan tong terbuka hanya apabila butang ditekan dan bukannya membuka secara langsung setiap kali suis dibalik dan hanya ditutup apabila suis dibalik ke belakang.
Langkah 5: Fail Segmen

Fail seterusnya yang akan ditulis adalah fail segmen. Ini akan mengambil butang seperti dalam nilai input dan output untuk tujuh katod dan empat anod dari paparan tujuh segmen Basys 3. Fail ini menyebabkan paparan tujuh segmen menunjukkan "C" ketika tong ditutup dan "O" ketika tong terbuka. Untuk kod lihat foto yang dilampirkan.
Langkah 6: Fail Pembahagi Jam

Servos berfungsi dengan mengambil isyarat PWM dengan frekuensi 64k Hz sementara jam yang dimasukkan ke dalam Basys 3 berfungsi pada 50M Hz. Fail pembahagi jam akan menukar jam lalai ke frekuensi mesra untuk servo. Fail akan mengambil jam dan isyarat ulang sebagai input dan akan mengeluarkan isyarat jam baru. Lihat foto yang dilampirkan untuk kod.
Langkah 7: Fail Isyarat Servo

Fail isyarat servo akan mengambil input jam, input reset dan input kedudukan yang diinginkan. Ia akan mengeluarkan isyarat PWM yang akan mendorong servo ke kedudukan yang diinginkan. Fail ini menggunakan isyarat jam yang dibuat dalam fail terakhir untuk membuat isyarat PWM untuk servo dengan kitaran tugas yang berbeza bergantung pada kedudukan yang diinginkan. Ini membolehkan kita menghidupkan servo yang mengawal penutup tong sampah. Lihat foto yang dilampirkan untuk kod.
Langkah 8: Fail Atas Servo

Tujuan fail ini adalah untuk menyusun dua fail terakhir menjadi pemacu servo yang berfungsi. Ia memerlukan jam, reset dan kedudukan sebagai input dan akan mengeluarkan isyarat servo PWM. Ia akan menggunakan pembahagi jam dan fail isyarat servo sebagai komponen dan akan merangkumi isyarat jam dalaman untuk meneruskan jam yang diubah dari pembahagi jam ke fail isyarat servo. Lihat gambar di
Langkah 9: Fail Teratas




Ini adalah fail projek yang paling penting kerana membungkus semua yang kami buat bersama. Ia akan mengambil butang, tiga suis dan jam sebagai input. Ia akan memberikan tujuh katod, empat anod dan tiga isyarat servo / LED sebagai output. Ia akan menggunakan flip flop, segmen dan file servo_top sebagai komponen dan akan mempunyai suis dalaman dan isyarat servo dalaman.
Langkah 10: Ujian di Vivado
Jalankan Sintesis, pelaksanaan dan tulis bitsream di Vivado. Sekiranya anda menemui sebarang mesej ralat, cari lokasi ralat dan kemudian bandingkan dengan kod yang diberikan. Selesaikan sebarang kesilapan sehingga semua larian ini berjaya diselesaikan.
Langkah 11: Membina Pengenalan Perkakasan
Pada langkah ini, anda akan membuat perkakasan LED yang kami gunakan dalam prototaip kami. Sekiranya menggunakan servos projek harus siap selagi pin yang betul digunakan. Sekiranya menggunakan LED ikuti langkah di bawah.
Langkah 12: Persiapan
Potong wayar menjadi enam bahagian. Jalur hujung setiap helai wayar dengan cukup sehingga pematerian boleh berlaku. Pisahkan LED, perintang dan wayar kepada tiga kumpulan. Panaskan besi pematerian.
Langkah 13: Pematerian


Pateri setiap perintang 68 ohm ke sisi negatif LED yang sepadan. Pateri wayar ke sisi positif LED dan wayar lain ke sisi perintang tidak disolder ke led. Anda mesti mempunyai tiga alat LED yang digambarkan di atas.
Langkah 14: Akhir

Masukkan setiap wayar positif ke pin PMOD yang sesuai dan masing-masing negatif ke pin PMOD tanah. Tambahkan pilihan kadbod untuk mewakili tong sampah dan sembunyikan kekacauan pematerian anda. Setelah wayar terpasang dengan betul dan kodnya dimuat dengan betul ke papan tanpa kesalahan mesin harus berfungsi seperti yang diharapkan. Sekiranya ada yang salah, kembali ke langkah sebelumnya untuk menyelesaikan masalah. Bersenang-senang dengan "penyortir sampah" baru anda.
Disyorkan:
Tutorial Penyusun AVR 2: 4 Langkah

Tutorial AVR Assembler 2: Tutorial ini adalah kesinambungan dari " AVR Assembler Tutorial 1 " Sekiranya anda belum mengikuti Tutorial 1, anda harus berhenti sekarang dan melakukannya terlebih dahulu. Dalam tutorial ini, kami akan meneruskan kajian pengaturcaraan bahasa pemasangan atmega328p u
Tutorial Penyusun AVR 1: 5 Langkah

AVR Assembler Tutorial 1: Saya telah memutuskan untuk menulis satu siri tutorial mengenai cara menulis program bahasa pemasangan untuk Atmega328p yang merupakan mikrokontroler yang digunakan di Arduino. Sekiranya orang tetap berminat, saya akan terus mengeluarkan satu minggu atau lebih sehingga saya kehabisan
Projek Akhir CPE 133 Perpuluhan hingga Perduaan: 5 Langkah

CPE 133 Final Project Decimal to Binary: Binary Numbers adalah salah satu perkara pertama yang terlintas di fikiran ketika memikirkan logik digital. Walau bagaimanapun, Nombor Binari boleh menjadi konsep yang sukar bagi mereka yang baru. Projek ini akan membantu mereka yang baru dan berpengalaman dengan nombor binari dan
Metronome CPE 133: 3 Langkah

CPE 133 Metronome: Untuk projek akhir kami di Cal Poly, kami membuat peranti tempo keep yang disebut metronome, kami memilih projek ini kerana muzik dan reka bentuk digital yang menarik. Kami menggunakan makmal masa lalu di CPE 133 untuk membantu merancang kod dan tutorial dalam talian kami untuk membantu
RoboBin -- Tong Sampah Sampah: 6 Langkah (dengan Gambar)

RoboBin || Tong Sampah Sampah: RoboBin adalah tong sampah yang menyimpan sampah semasa membuangnya. Ini bermakna anda boleh membuang sampah tanpa harus bangun untuk membuang sesuatu. Mari bermula Bagaimana ia berfungsi Robo bin berfungsi dengan solenoid yang menolak penutup tong sampah ketika