Tulisan ini dibuat untuk memenuhi tugas mata kuliah Sistem Mikroprosesor (EL3014) kelas 03 oleh dosen Farkhad Ihsan Hariadi.
Dibuat oleh:
segment. Jam digital ini berjalan dengan Arduino Uno dengan mikrokontroler AVR ATMega 328. Pada tahap kelima, yang merupakan tahap akhir, kami menambahkan fungsi kalkulator pada jam digital yang berjalan secara paralel (multitasking). Kami juga memperbaiki bouncing pada input keypad tanpa menimbulkan blinking pada display seven segment.
Tahap 5 (Selasa, 13 Maret 2018):
Dibuat oleh:
- Aditya Rizky Maulana (13215007)
- Geraldy William L (13215042)
segment. Jam digital ini berjalan dengan Arduino Uno dengan mikrokontroler AVR ATMega 328. Pada tahap kelima, yang merupakan tahap akhir, kami menambahkan fungsi kalkulator pada jam digital yang berjalan secara paralel (multitasking). Kami juga memperbaiki bouncing pada input keypad tanpa menimbulkan blinking pada display seven segment.
Tahap 5 (Selasa, 13 Maret 2018):
Kami telah membuat sebuah jam digital seven segment dengan fungsi sesuai dengan spesifikasi (memiliki tiga mode : tampilan waktu jam-menit, setelan waktu, dan kalkulator; timing dengan interrupt; input keypad). Pada tahap akhir ini, kami menambahkan fungsi kalkulator bilangan bulat sederhana yang dapat melakukan operasi aritmatik dua buah bilangan bulat 2 digit.
Source code untuk jam digital dengan penambahan fungsi kalkulator ini kami sertakan dalam link berikut:
Source Code
Kami menggunakan timer 2 dengan metode overflow sebagai debouncer. Ketika program pada pin change interrupt dijalankan, timer 2 tidak berjalan, sehingga program multitasking berhenti bekerja. Oleh karena itu, kami tidak lagi menggunakan pin change interrupt dalam fungsi multitasking, tetapi menyatu dengan program utama.
Berikut ini penjelasan singkat tentang cara kerja multitasking pada jam digital ini:
Source code untuk jam digital dengan penambahan fungsi kalkulator ini kami sertakan dalam link berikut:
Source Code
Kami menggunakan timer 2 dengan metode overflow sebagai debouncer. Ketika program pada pin change interrupt dijalankan, timer 2 tidak berjalan, sehingga program multitasking berhenti bekerja. Oleh karena itu, kami tidak lagi menggunakan pin change interrupt dalam fungsi multitasking, tetapi menyatu dengan program utama.
Berikut ini penjelasan singkat tentang cara kerja multitasking pada jam digital ini:
- Program memeriksa input pada keypad dengan metode scanning
- Jika tombol * ditekan, pengguna dapat berganti mode, yaitu set watu, kalkulator, dan kembali ke tampilan jam.
- Saat masuk ke mode setel waktu, tulisan "SET" ditampilkan terlebih dahulu ke seven segment. Pengguna dapat beralih mode ke kalkulator sebelum melanjutkan pengaturan jam dengan menekan tombol *. Pengguna memasukkan bilangan menit yang valid (< 60). Jika selesai, pengguna menekan tombol # dan memasukkan jam dengan valid (< 24). Setelah selesai, pengguna menekan tombol # untuk menyimpan pengaturan waktu dan kembali ke tampilan jam.
- Saat masuk ke mode setel waktu, tulisan "CALC" ditampilkan terlebih dahulu ke seven segment. Pengguna dapat kembali ke tampilan jam sebelum melanjutkan pengaturan jam dengan menekan tombol *. Pengguna memasukkan dua digit bilangan A, kemudian memilih operasi aritmatika (A untuk penjumlahan, B untuk pengurangan, C untuk perkalian, D untuk pembagian) setelah itu memasukkan dua digit bilangan B. Setelah selesai, pengguna menekan tombol # dan melihat hasil penghitungan. Tanda negatif ditandai dengan titik di ujung kanan. Pengguna dapat kembali ke tampilan jam dengan menekan tombol #.
- Jika tombol # ditekan, format penampilan jam berubah dari jam-menit ke menit-detik dan sebaliknya.
Kami telah menguji jam digital ini dan tidak ada bouncing pada input keypad dan blinking pada seven segment yang terjadi pada jam digital. Berikut ini adalah video hasil percobaan jam digital yang telah kami buat.
Tidak ada komentar