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

Sample And Hold

Percobaan Pengukuran Karakteristik Rangkaian IC LF-398 ( Sample and Hold) IC LF398N Perangkat LF298 dan LFx98x adalah sirkuit monolitik sample-and-hold yang menggunakan teknologi BI-FET untuk memperoleh akurasi ultrahigh DC dengan perolehan sinyal yang cepat dan tingkat droop yang rendah. Beroperasi sebagai pengikut gain-kesatuan, akurasi gain DC adalah 0,002% khas dan waktu akuisisi serendah 6 μs hingga 0,01%. Tahap input bipolar digunakan untuk mencapai tegangan offset rendah dan lebar bandwidth. Penyetelan offset masukan dilakukan dengan satu pin dan tidak menurunkan drift offset masukan. Bandwidth lebar memungkinkan LF198-N untuk dimasukkan di dalam loop umpan balik dari penguat operasional 1-MHz tanpa masalah stabilitas. Impedansi masukan 1010 Ω memungkinkan impedansi sumber daya tinggi digunakan tanpa menurunkan akurasi. P-channel junction FETs dikombinasikan dengan perangkat bipolar dalam penguat output untuk memberikan tingkat droop serendah 5 mV / menit dengan k

FIR dan Filter Digital

Filter Digital Oximeter Pulsa Analog hasil Oximeter Masih perlu difilter lagi dengan menggunakan filter yang lebih baik dari segi ordenya yaitu filter digital berikut merupakan representasi dari filter digital Finite Impulse Response FIR adalah filter dimana respons impulsnya terbatas oleh waktu atau bernilai nol ketika waktu menuju tak hingga. FIR dapat direpresentasikan dalam waktu diskrit maupun kontinyu dan digital maupun analog. Hubungan input dan output pada FIR direpresenasikan sebagai berikut: dimana: -{bk}= koefisien feed forward - banyaknya (total koefisien) L = M + 1 - M ditetapkan sebagai orde filter FIR Representasi blok diagram dari persamaan di atas sebagai berikut: Filter Digital Filter adalah sistem yang menggunakan operasi matematika pada sampling sinyal diskrit untuk mengurangi atau menambah nilai dari sinyal. Filter Digital dapat dibuat menggunakan FIR pada MATLAB Source Code MATLAB Filter Orde 5 Filter Orde 10 Fil