Jam Digital Dengan Nexys A7

by juancarlosmanuel011 in Circuits > Clocks

209 Views, 0 Favorites, 0 Comments

Jam Digital Dengan Nexys A7

messageImage_1674662200321.jpg


Muhammad Mirza - 2501966761

Nathanael Pandu Winarta - 2502020604

Juan Carlos manuel - 2502054851

Lukmanul Hakim - 2502018360



Waktu adalah uang, itulah istilah yang sering digunakan terutama dimasa modern ini. kegiatan yang sangat padat dan tuntutan tugas yang sangat tinggi membuat manajemen waktu sangatlah penting. Manajemen waktu yang baik dapat mengurangi beban kita, sehingga kita dapat bekerja secara maksimal. cara memanajemen waktu yang baik dimulai dari kita bangun dipagi hari. ketepatan waktu saat kita bangun tidur sangat mempengaruhi kegiatan sehari-hari, terutama jika kita adalah seorang pekerja atau pelajar. Waktu tidak bisa dibeli merupakan istilah yang sangat benar, karena jika kita tidak menghargai waktu maka penyesalanlah yang akan datang.

oleh karena itu kelompok kami membuat smart clock atau jam digital yang dilengkapi dengan alarm, yang diharapkan dapat membantu dalam memanajemen waktu dengan baik. Dimana smart clock kami akan membantu masalah yang dialami orang-orang agar tidak bangun terlambat.


Rumusan Masalah

  • apakah alat kami dapat membantu orang agar lebih tepat waktu.
  • apakah alat kami dapat tepat dan presisi dalam menampilkan waktu.
  • bagaimana cara kerja alat kami dalam menampilkan waktu.
  • bagaimana cara kerja alarm dari alat kami.

Tujuan

  • dapat menunjukan waktu dengan tepat
  • agar pengguna lebih baik dalam mengatur waktu

Ruang Lingkup

Batasan yang ingin diamati dalam penelitian ini adalah: 

  1. pekerja.
  2. mahasiswa dan pelajar.
  3. orang orang yang sulit dan lupa mengatur waktu.

Cara Kerja Sistem

cara kerja jam digital ini adalah dengan cara mengatur waktu dengan tombol mode untuk memulai jam lalu tekan kembali tombol mode agar jam berhenti dan dapat disetting (pengaturan waktu menggunakan tombol inc untuk menambah baik detik,menit dan jam, sedangkan untuk pindah dari detik ke menit ataupun menit ke jam maka tombol yang digunakan adalah tombol mode) , setelah jam setelah selesai disetting maka tekan tombol mode kembali agar jam kembali berjalan. untuk fitur alarm hanya dengan menekan tombol alarm lalu masuk ke menu pengaturan waktu alarm, setelah waktu alarm telah sesuai tekan kembali tombol mode agar display kembali ke tampilan jam. setelah alarm aktif maka tekan tombol alarm off untuk mematikan alarm. tombol reset digunakan jika ingin mereset jam.



Supplies

  • 1 buah nexys A7 100T

Block Diagram

Blank diagram (1).png

berikut merupakan Block Diagram rangkaian untuk proyek digital clock yang dapat di setting

Diagram Flow

Blank diagram.png

berikut merupakan Flowchart rangkaian untuk project digital clock yang dapat di setting.

TOP ENTITY

TOP ENTITY:

merupakan codingan utama sistem


Inputs:

  • clk100M: merupakan input sistem clock dengan 100M Hz.
  • reset: merupakan tombol reset, untuk mereset board.
  • Mode: merupakan tombol mode untuk masuk dari detik ke menit atau menit ke jam.
  • inc: merupakan tombol increment untuk menambahkan detik atau menit atau jam.
  • alarmon: merupakan tombol alarm untuk masuk ke mode alarm.
  • alarm_off: merupakan tombol untuk mematikan alarm.


Outputs:

  • disp_seg_o: merupakan output yang terhubung dengan display.
  • disp_an_o: merupakan output yang terhubung dengan anoda dari display.
  • led : merupakan output yang terhubung dengan LED dari board.


Design Details:

Ada beberapa modul dalam top entity:

Clock Devider Unit

Screenshot 2023-01-26 111515.png

Clock divider Unit:

Modul ini membagi clock 100M Hz menjadi clock 1 Hz, 10K Hz dan 100 Hz.


Input:

  • clk100M: merupakan input dengan sistem clock dengan 100M Hz.


Output:

  • Clk1: merupakan output dengan clock 1Hz.
  • Clk1k: merupakan output dengan clock 1K Hz.
  • Clk10K: merupakan output dengan clock 10K Hz.


Alarm Unit

Screenshot 2023-01-26 111530.png

Alarm Unit:

pada modul alarm, waktu saat ini dan waktu alarm dibandingkan saat chip enable berada pada 0. Saat waktu saat ini dan waktu alarm cocok, maka LED alarm pun menyala. Dan dengan switch Alarm_off LED alarm pun dapat dimatikan.


Input:

  • Alarm_ce: merupakan input sebagai chip enable untuk alarm dan aktif rendah.
  • Alarm_off: merupakan tombol untuk alarm off.
  • Alarm_time_i: merupakan input dimana pewaktuan pada alarm diatur. Input ini terdiri dari 24 bit.
  • current_time_i: merupakan input dimana pewaktuan pada jam utama diatur. Input ini terdiri dari 24 bit.
  • clk: merupakan input yang terhubung dengan sistem clock 100M Hz.
  • rst: merupakan input reset yang terhubung dengan reset dari controller.


Output:

  • Alarm_led_o: merupakan output yang terhubung dengan LED alarm, yang akan menyala saat current time dan alarm time cocok.


MUX_1 Unit

Screenshot 2023-01-26 111544.png

Multiplexer_1 Unit:

Modul ini memiliki input sebagai clock yaitu clk10K dan output dari MUX_2 sebagai bcd_in yang digunakan sebagai bagian dari alarm. Output menuju ke anoda dari display 7 segment yang membantu untuk mengidentifikasi angka apa yang akan ditampilkan pada display dan bcd_out ke modul decoder yang membantu untuk mengidentifikasi display mana yang akan bekerja karena kita menggunakan 6 display untuk jam, menit dan detik.

                                                                                                                                            

Input:

  • bcd_in: merupakan input dari MUX_2. Ini terdiri dari 24 bit.
  • clk10k: merupakan input clock 10k di mana multiplexer bekerja.


Output:

  • anodes: merupakan output yang terhubung ke anoda dari display. Output Ini terdiri dari 7 bit.
  • bcd_out: merupakan output yang terhubung ke modul decoder. Output ini terdiri dari 4 bit.


MUX_2

Screenshot 2023-01-26 111602.png

Multiplexer_2 Unit:

Modul ini memilih output mana yang akan ditampilkan, baik waktu saat ini atau waktu alarm. Modul ini memiliki input sebagai SL atau select line yanh merupakan garis pemilihan yang memiliki nilai 0 atau 1. Saat nilai SL 1, itu menunjukkan waktu alarm pada display dan saat nilainya 0, itu menunjukkan waktu saat ini pada display. Jadi input lainnya adalah waktu saat ini dan waktu alarm yang terdiri dari 24 bit.


Input:

  • SL: input ini adalah garis pemilihan untuk multiplexer yang memiliki nilai 0 dan 1.
  • alarmtime: Input merupakan waktu alarm yang dapat kita atur. Ini terdiri dari 24 bit.
  • currenttime: Ini merupakan waktu saat ini yang berjalan pada clock utama. Ini terdiri dari 24 bit.


Output:

  • Output: output ini menunjukkan baik waktu alarm atau waktu saat ini sesuai dengan SL (garis pemilihan).

BCD Unit

Screenshot 2023-01-26 111614.png

BCD Unit:

Ini adalah counter sederhana yang menghitung dari 0 hingga 9. Dan memberikan overflow saat angka mencapai 9. modul digunakan pada satu tempat sebagai detik, menit, dan jam.


Input:

  • ce: merupakan input berupa chip enable.
  • clk: merupakan input berupa clock yang bekerja pada 1 Hz.
  • sr: merupakan input set reset.


Output:

  • owf: output ini merupakan overflow yang mengirimkan sinyal ke display berikutnya saat mencapai 9.
  • q: merupakan output 4 bit.


BCD_6 Unit

Screenshot 2023-01-26 111847.png

BCD6 Unit:

Modul ini adalah counter yang menghitung dari 0 hingga 5. Dan memberikan overflow ketika angka mencapai 5. Ini digunakan di tempat puluhan detik dan menit.


Input:

  • ce: merupakan input chip enable.
  • clk: merupakan input clock yang bekerja pada 1 Hz.
  • sr: merupakan input set reset.


Output:

  • owf: merupakan output overflow yang mengirimkan sinyal ke tampilan berikutnya ketika mencapai 5.
  • q: merupakan output dari 4 bit.

BCD_3 Unit

Screenshot 2023-01-26 111856.png

BCD3 Unit:

Ini adalah counter yang menghitung dari 0 hingga 2. Dan memberikan sinyal return ke posisi satu jam saat 2 datang di sana.


Input:

  • ce: merupakan input chip enable.
  • clk: merupakan input clock yang bekerja pada 1 Hz.
  • sr: merupakan input untuk set reset.


Output:

  • ret: output mengembalikan sinyal ke BCD_1 saat mencapai angka 2, sehingga BCD_1 harus berjalan hingga 3.
  • q: merupakan output 4 bit.

BCD_1 Unit

Screenshot 2023-01-26 111908.png

BCD_1 Unit:

Modul ini menghitung dari 0 hingga 9 tetapi juga saat angka 2 muncul di posisi puluhan dari jam maka modul akan menghitung dari 0 hingga 3.


Input:

  • ce: merupakan input chip enable.
  • clk: merupakan input clock yang bekerja pada 1 Hz.
  • ret: merupakan sinyal yang diterima dari BCD3.
  • sr: merupakan input yang berguna sebagai set reset.


Output:

  • owf: merupakan output sebagai overflow yang mengirimkan sinyal ke tampilan berikutnya saat mencapai 9.
  • q: Ini adalah output 4 bit.

Summary of BCDs

Screenshot 2023-01-26 112548.png

Decoder Unit

Screenshot 2023-01-26 111924.png

decoder unit

Unit ini adalah decoder seven segment yang mendecode 4 bit menjadi 7 bit

Input :

  • BCD : merupakan input dari counter yang terdiri dari 4 bit

Output :

  • Seven : adalah output yang terhubung dengan display seven segment

Controller Unit

Screenshot 2023-01-26 111945.png

controller unit

Unit ini adalah unit paling penting dari project karena unit ini adalah unit yang akan menjadi pusat control alat.

Input :

  • Clk : merupakan input yang terhubung dengan clock 1K Hz
  • Ar : merupakan input asynchronous reset.
  • Mode : mode merupakan tombol untuk masuk ke bagian detik, menit ataupun jam.
  • Inc : merupakan tombol untuk menambah nilai baik detik, menit maupun jam.
  • Alarmon : merupakan tombol untuk masuk ke mode alarm.

Output :

  • Run : merupakan output yang terhubung dengan LED yang menyala untuk menandakan jam sedang berjalan
  • Reset : merupakan output yang terhubung dengan LED yang akan menyala saat pengguna menekean tombol reset.
  • Set : merupakan output yang terhubung dengan LED yang akan menyala saat kita mengganti mode untuk menyeting waktu.
  • Inc_led : merupakan output yang terhubung dengan LED yang akan menyala saat kita menekan tombol inc.
  • Stop : merupakan output yang terhubung dengan LED yang akan menyala saat pengguna meberhentikan jam.
  • alarmSL : merupakan output yang terhubung dengan MUX_2 sebagai penyeleksi.
  • Inc_sec : merupakan output yang terhubung dengan LED yang akan menyala saat akan mengatur detik.
  • Inc_min : merupakan output yang terhubung dengan LED yang akan menyala saat akan mengatur menit.








Link

link video : https://youtu.be/98u_yfLWo5M