Langsung ke konten utama

Jam Digital Menggunakan Clock Internal Arduino


Jam Digital Menggunakan Clock Internal Arduino

Pada umumnya, program jam digital pada arduino menggunakan clock eksternal sebagai penghitung waktu.
Namun, kita juga bisa membuat jam digital menggunakan internal clock arduino dengan memanfaatkan timer dan interrupt.

Apa itu Interrupt?

Program pada Arduino secara normal berjalan sesuai urutan dan bergantian menunggu program yang sedang berjalan selesai.
Interrupt adalah kondisi dari luar program yang "menginterupsi" program yang sedang berjalan menggunakan ISR(Interrupt Service Routine).
Program yang sedang berjalan akan "mengalah" dan ISR dapat menjalankan programnya.
Setelah ISR selesai, maka program yang sebelumnya sedang berjalan akan melanjutkan ke instruksi selanjutnya. 

Apa itu timer?

Timer/counter adalah sebuah hardware builtin dari Arduino. Timer bekerja seperti clock, sehingga dapat digunakan untuk menghitung waktu
Timer dapat diprogram menggunakan register spesial TCCRx (Timer/Counter Control register). Pada Experiment ini digunakan TCCR1

Untuk mempermudah perhitungan waktu kita akan membutuhkan prescaler

Apa itu prescaler?

Prescaler adalah rangkaian penghitung elektronik yang digunakan untuk menurunkan frekuensi tinggi dengan membaginya dengan nilai-nilai tertentu
Prescaler pada arduino dapat diatur dengan mengubah CS12, CS11, CS10 pada register TCCRx.
berikut ini nilai-nilai kombinasi dari CS12, CS11, CS10

Kita juga dapat memilih mode timer yang digunakan dengan mengubah WGM13, WGM12, WGM11, WGM10 pada register TCCRx
Pada Experiment ini, kita akan menggunakan CTC untuk mendapatkan jam yang presisi.
maka kita membutuhkan nilai OCR untuk membandingkan waktu interrupt timer.
nilai OCR dapat dicari dengan rumus OCR=frekuensi clock(timer/prescaler)-1
Pada experiment ini kita akan menggunakan timer = 1 detik sehingga
untuk mendapatkan timer 1 detik, kita membutuhkan prescaler sebesar 256,
sementara nilai frekuensi clock arduino = 16MHz

OCR = 16MHz(1/256)-1 = 62499 atau dalam hexadesimal 0xF423

Apa itu seven segment 4 digit?

Pada experiment ini, kita akan menggunakan seven segment 4 digit pada seven segment ini 8 pin digunakan untuk display pada delapan segment dan 4 pin untuk mengontrol setiap digit pada display

Seven segment dinyalakan bergantian pada frekuensi yang tinggi secara sekuensial dari kiri ke kanan dengan menyala bergantian seven segment dapat dilihat seperti terus menyala yang pada keadaan sebenarnya seven segment menyala per digit saja. Pada mata manusia sudah sulit untuk membedakan transisi ketika 60Hz.

Apa itu button?

Pada experiment ini, kita akan menggunakan button dengan pullup mode input ini digunakan untuk menerima input yang berupa button ditekan maka akan mengubah logika pada pin arduino

Ketika button ditekan maka rangkaian akan menjadi terhubung dengan ground. Agar arus tidak besar sehingga dibutuhkan mode pullup ini. Ketika button ditekan maka input pada arduino akan low sedangkan ketika button dilepas maka input pada arduino akan high.

EXPERIMENT

Komponen

1.Arduino Uno
2.7 segment 4 digits
3.Jumper 21 buah
4.Resistor 1k 9 buah
5.Button 6 buah

Fitur

1.Mode Waktu
2.Mode Countdown Timer
3.Mode Kalkulator

Wiring Diagram


Code


Video Eksperimen 1


Kost William, Tanggal, 22 Februari 2018

Video Eksperimen 2

Kost William, Tanggal, 22 Februari 2018

Anggota Kelompok

William Chandra/13215052

Muhammad Al Faruqi/13215074


Komentar

Posting Komentar

Postingan populer dari blog ini

Implementasi Analog dari Pulse Oximeter

Implementasi Analog Oximeter Oximeter membutuhkan input berupa perbedaan intensitas cahaya yang dilewatkan pada jari tangan. Sumber cahaya yang digunakan adalah LED infra merah, karena memiliki frekuensi dimana phototransistor bekerja. Signal Conditioning Sinyal yang didapatkan dari phototransistor harus dikondisikan terlebih dahulu agar noise yang terkandung dalam sinyal dapat diminimalisasi dan memiliki resolusi yang cukup untuk diolah pada tahap selanjutnya. Signal conditioning yang dilakukan adalah preAmplifier, active lowpass filter, lowpass amplifier. Kegunaan ketiga pengkondisi sinyal ini sudah pernah kami bahas pada tulisan sebelumnya Oximeter Filter Analog OpAmp LM324 OpAmp yang digunakan pada experiment ini adalah LM324. Dipilih LM324 karena murah dan mudah didapatkan di toko-toko elektronik. Berikut ini merupakan gambar skematik dari LM324 Schematic Rangkaian Implementasi Komponen 1. Arduino Uno 2. OpAmp LM324 3. Resistor 1k (1 bua...

Oximeter Filter Analog

Filter Analog Oximeter Pulsa Oximeters mengandung satu atau lebih tahap penyaringan sinyal antara fotodioda dan mikrokontroler. Filter Aktif ini bertanggung jawab untuk menghilangkan noise sambil mempertahankan komponen frekuensi yang berguna dari sinyal, sehingga meningkatkan rasio signal-to-noise. Frekuensi sudut dari filter ini tidak hanya mempengaruhi tingkat noise, tetapi juga bentuk sinyal pulsa. Dengan mempersempit bandwidth filter dapat menekan noise namun, pada saat yang sama, meredam komponen sinyal penting dengan mengurangi konten harmonik. Frekuensi Oximeter Range Frekuensi Output dari Oximeter merupakan 0.66-15Hz Teknik Signal Conditioning Proyek ini menggunakan salah satu op-amp sebagai ground virtual. Op-amp dalam proyek-proyek sederhana adalah sering membutuhkan + dan - tegangan. Akan lebih baik untuk menghemat dengan menggunakan sumber daya tunggal (+ dan GND). Cara untuk melakukannya adalah menggunakan salah satu op-amp sebagai sumber arus dan me...