JAM DIGITAL DENGAN KEMAMPUAN MULTITASKING
Pada kesempatan
kali ini, dirancang sebuah jam digital dengan menggunakan Arduino Uno.
Pemrograman disusun denga menggunakan bahasa C. Adapun spesifikasi dari device
yang dibuat yaitu jam digital yang memiliki kemampuan multitasking.
Multitasking disini artinya jam digital yang dibuat juga bisa dibawa ke mode
setting jam dan mode kalkulator.
Ketika awal
dijalankan, device berada pada mode jam dan seven segmen akan menampilkan jam
serta menit. Digunakan timer noverflow pada mode normal dengan prescaller 1024.
Ketika tombol ‘*’ pada keypad ditekan, maka device akan bisa digunakan untuk
melakukan setting jam. Tiap digit bisa dinaikkan nilainya dengan menekan tombol
B atau menurunkan dengan menekan tombol C. Untuk mensetting digit berikutnya,
bisa digunakan tombol A. Nilai digit yang bisa dipilih terbatas, misalnya untuk
menit puluhan, nilai digit hanya berkisar antara 0 sampai 5. Hal ini karena
pada jam digital tidak mungkin menitnya melebihi angka 59. Begitu juga dengan
digit jam puluhan. Jika jam satuannya bernilai lebih dari 3, maka nilai jam
puluhan yang mungkin berkisar antara 0 sampai 2. Kemudian, jika proses setting
telah selesai, maka seven segmen akan kembali ke mode jam dengan nilai yang
telah diatur.
Jika tombol ‘#’
pada keypad ditekan, maka mode akan berubah ke kalkulator. Input dari
kalkulator sendiri merupakan dua buah angka yaitu a dan b, yang masing – masing
terdiri dari 2 digit. Proses yang dapat dilakukan oleh kalkulator adalah
penjumlaha, pengurangan, dan perkalian. Ketika mode kalkulator mulai berjalan,
maka program akan meminta user menginputkan dua buah digit untuk variabel a.
Setiap memasukkan digit, user perlu menekan tombol D agar program menyimpan
nilai digit. Selanjutnya user perlu menginputkan nilai untuk variabel b dengan
cara yang sama. Terakhir, user perlu menginputkan jenis operasi yang perlu
dilakukan dan program akan menampilkan hasil setelah user menekan tombol D.
Khusus untuk pengurangan, jika hasil pengurangan (a-b) adalah negatif, maka LED
biru pada rangkaian akan menyala sebagai penanda negatif. Ketika mode
perhitungan pada kalkulator selesai, maka program akan kembali ke mode jam
secara otomatis.
Perlu digaris
bawahi bahwa jam digital akan terus berjalan di dalam program, bahkan ketika mode
kalkulator maupun mode setting jam dijalankan. Untuk source code yang
digunakan, bisa diunduh di link berikut ini.
Demo dari source
code diatas adalah sebagai berikut
Demo video :
Komentar
Posting Komentar