Daftar Isi:

Jam Alarm Basys 3: 9 Langkah
Jam Alarm Basys 3: 9 Langkah

Video: Jam Alarm Basys 3: 9 Langkah

Video: Jam Alarm Basys 3: 9 Langkah
Video: Google Engineer Salary Levels #shorts 2024, Juli
Anonim
Jam Alarm Basys 3
Jam Alarm Basys 3

Proyek kami membuat jam alarm menggunakan papan Basys 3 FPGA, Arduino, dan papan driver speaker. Pengguna dapat memasukkan waktu saat ini ke papan menggunakan 11 sakelar input pada Basys 3 dan mengunci nilainya menggunakan tombol tengah di papan tulis. Pengguna kemudian dapat memasukkan waktu alarm menggunakan sakelar yang sama tetapi menekan tombol kiri untuk mengunci waktu alarm. Jika waktu yang dimasukkan salah, tombol reset (tombol atas) dapat ditekan dan waktu jam dan waktu alarm saat ini akan disetel ke 00:00. Pengguna kemudian dapat memulai jam menggunakan sakelar paling kiri dan menyalakan alarm menggunakan sakelar berikutnya. Saat alarm dihidupkan, jam alarm akan berbunyi ketika waktu jam dan waktu alarm yang disetel cocok.

Langkah 1: Diagram Kotak Hitam

Diagram Kotak Hitam
Diagram Kotak Hitam
Diagram Kotak Hitam
Diagram Kotak Hitam

Kami memulai proyek kami dengan menggambar diagram kotak hitam untuk memvisualisasikan input dan output yang dibutuhkan dalam program kami. Input berikut untuk program kami seperti input 5-bit (Hour_in) diinisialisasi untuk menentukan waktu 24 jam, input 6-bit (Min_in) untuk ditampilkan hingga 60 menit, tombol reset (Rst_b) untuk memungkinkan pengguna mengubah input waktu mereka, input 1-bit (alm_en) yang memuat input alarm, input 1-bit (alarm_sw) untuk mematikan jam alarm ketika diaktifkan, input 1-bit (e_sec) yang mengontrol kapan penghitung detik akan berjalan, input 1-bit (Led_btn) yang mengatur waktu saat ini, dan terakhir input 1-bit (clk) yang mengontrol waktu yang ditampilkan oleh papan Basys 3. Outputnya adalah (alm_on) yang mengirimkan sinyal ke Arduino, output sseg yang menampilkan waktu input pada Basys 3, dan output anoda yang mengontrol di mana input ditampilkan pada tampilan tujuh segmen.

Langkah 2: Jam Lambat

Jam Lambat
Jam Lambat

Jam lambat atau file clock_div2 membuat jam yang frekuensinya 2 hz. Jika kita memasukkan jam ini ke penghitung detik, nilai detik akan bertambah satu setiap detik. Jam lambat digunakan untuk membuat sinyal jam yang andal yang berubah dari rendah ke tinggi sekali per detik.

Langkah 3: Kontra

Menangkal
Menangkal
Menangkal
Menangkal

Penghitung Komponen (menit dan detik):

Fungsi dasar menit dan detik adalah sebagai penghitung. Penghitung menit mengambil input (Vin) yang merupakan sinyal dari input (Min_in), kemudian menghitung hingga mencapai input yang diinginkan. Detik hanya mengambil input dari sakelar (e_Sec) karena tidak dapat ditampilkan di tujuh segmen, dan dihitung di latar belakang setelah sakelar tinggi '1'. Keduanya menghasilkan nilai di sana ke (Qout), dan kemudian disimpan di (data) yang mengirimkannya ke SSEG yang dilakukan di file penautan. Juga, ketika menit dan detik mencapai nilai 59, itu direset, dan outputnya adalah '1' untuk menambah menit/jam. Itu juga dapat dipetakan dengan reset(rst_b) ke inputnya.

Langkah 4: Jam Penghitung

Jam Loket
Jam Loket
Jam Loket
Jam Loket

Jam Penghitung Komponen

Demikian pula, untuk pencacah komponen menit dan detik, komponen jam mengambil input s seperti (Vin) yang merupakan sinyal dari menghubungkan file input (Hour_in), dan memiliki output yang dihubungkan dengan cara yang sama menit dan detik. Ketika nilai hitungan jam mencapai 2 00, reset ke 00 00.

Langkah 5: Alarm

Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
Alarm

File.vhd alarm terdiri dari d-flip-flop yang merupakan perangkat penyimpanan yang dapat menyimpan data digital. File alarm digunakan untuk menyimpan waktu di mana alarm akan diaktifkan. Untuk menyimpan data jam (5 bit input) dan menit (input 6 bit) kita harus menghapus 11 d-flip-flop dalam file alarm kita. Untuk melakukan ini, pertama-tama kita harus mengimpor logika yang mengatur pengoperasian d-flip-flop dan memetakan komponennya. Masing-masing dari 11 d-flip-flop akan menyimpan satu bit data dari input dan memungkinkan data dipetakan ke output dari file alarm. Karena d-flip-flop menyimpan data, kita dapat menggunakan data di lain waktu meskipun sakelar input telah diubah.

Langkah 6: Driver Tampilan Tujuh Segmen Universal

Driver Tampilan Tujuh Segmen Universal
Driver Tampilan Tujuh Segmen Universal
Driver Tampilan Tujuh Segmen Universal
Driver Tampilan Tujuh Segmen Universal
Driver Tampilan Tujuh Segmen Universal
Driver Tampilan Tujuh Segmen Universal

Driver tampilan tujuh segmen universal menerima input dari jam dan set jam dan mampu menampilkannya ke tampilan tujuh segmen di papan tulis. Pengemudi dapat mengeluarkan dua hitungan terpisah di papan pada satu waktu. Kami menggunakan fungsi ini untuk menampilkan waktu jam dan waktu menit secara terpisah. Tampilan seven segment hanya dapat mengaktifkan satu angka dalam satu waktu sehingga file sseg harus menggunakan multiplexing untuk menampilkan semua angka waktu secara bersamaan. Sinyal jam papan dimasukkan ke dalam sseg untuk menjaga waktu yang tepat untuk multiplexing. Encoder desimal berkode biner ke biner diperlukan untuk mengonversi input ke file ke bentuk yang dapat dikeluarkan ke tampilan tujuh segmen. Output akhir dari file sseg dipetakan ke tampilan tujuh segmen dan waktu yang tepat ditampilkan pada tampilan.

Langkah 7: File Tautan

Tautan File
Tautan File
Tautan File
Tautan File
Tautan File
Tautan File

File tautan menghubungkan semua aspek lain dari program dan memetakan sinyal ke lokasi yang benar. Setiap komponen dibawa dan dipakai di dalam file. Sinyal digunakan untuk mentransfer data dari satu komponen ke komponen lainnya. Pemetaan port akan mengikuti diagram kotak hitam yang tercantum di atas. File tautan juga menyimpan logika yang mengatur kapan alarm diaktifkan. Sebagian besar proyek sudah akan selesai pada saat ini. Pekerjaan yang tersisa adalah mengarahkan setiap sinyal ke lokasi yang sesuai.

Langkah 8: Arduino

Arduino
Arduino
Arduino
Arduino

Arduino digunakan untuk mengaktifkan speaker serta mengontrol nada dan durasi not yang dimainkan melalui speaker. Arduino membaca sinyal digital dari papan Basys 3. Ketika sinyal ini tinggi, arduino akan mengeluarkan sinyal PWM yang mengontrol nada dan durasi alarm. Sinyal output dari arduino terhubung ke sinyal input dari papan driver speaker yang meningkatkan volume speaker. Arduino melakukan proses ini dengan sangat cepat berulang kali per detik.

Langkah 9: Perutean Kabel

Perutean Kabel
Perutean Kabel

Papan Arduino dan Basys 3 harus terhubung secara fisik untuk mentransfer sinyal antar papan. Kabel pertama ke kabel akan menjadi dari pin ground JA PMOD dari Basys 3 ke pin ground arduino. Selanjutnya sambungkan kabel dari pin 1 JA PMOD Basys 3 ke pin digital 7 arduino. Selanjutnya, sambungkan dua pin ground dari arduino ke pin ground driver speaker. Selanjutnya, sambungkan output 3.3 V dari arduino ke pin Vcc dari driver speaker. Selanjutnya, sambungkan pin digital 9 arduino ke pin In driver speaker.

Direkomendasikan: