TIMER DAN COUNTER
TUJUAN :
1. Mampu membuat program yang mengunakan fitur timer sebagai pewaktu.
2. Mampu membuat program yang menggunakan fitur timer sebagai penghitung.
3. Mampu mempergunakan fitur timer pada mikrokontroler untuk membuat jam digital sederhana.
PERALATAN :
1. Komputer
2. Arduino Uno
3. Kabel USB tipe B
4. Project board
5. Kabel jumper
6. LED
7. Resistor 330 Ohm
8. Switch pushbutton
9. LCD
10. Potensiometer
PERCOBAAN :
6.1 Penggunaan Timer Overflow Untuk LED Blinking
Pada percobaan kali ini akan dibuat program untuk membuat led berkedip per 500 milliseconds. Pada dasarnya LED akan toggle (berubah kondisinya) setiap terjadi interupsi timer overflow. Nilai register timer di-set sedemikian rupa sehingga menghasilkan waktu overflow per 500 milliseconds.
Prosedur :
- Buatlah rangkaian seperti pada Gambar 6.1.
- Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.
- Buka Serial Monitor pada Arduino IDE, pastikan baudrate pada Serial Monitor adalah 9600. Kemudian amati teks yang ditampilkan pada Serial Monitor. Amati juga kondisi nyala dan mati LED pada pin 12.
- Jika dilakukan perhitungan konfigurasi register pada sintaks program Percobaan 6.1, timer 1 akan overflow setiap berapa milliseconds ?
- Jelaskan perbedaan penggunaan delay dan timer overflow !
- Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 6.1 !
DIBAWAH INI MERUPAKAN VIDEO DARI HASIL PRAKTIKUM YANG TELAH DILAKUKAN
6.2 Jam Digital Menggunakan Timer
Pada percobaan kali ini akan dibuat program sederhana yang berfungsi sebagai jam digital dengan memanfaatkan fitur timer mikrokontroler. Timer akan dikonfigurasi sehingga terjadi overflow setiap 1 detik. Tiap timer terjadi overflow, variabel detik, menit dan jam akan di-update nilainya. Nilai variabel tersebut akan ditampilkan pada LCD.
Prosedur :
- Buatlah rangkaian seperti Gambar 6.2.
- Tuliskan sintaks program berikut ini, lakukan kompilasi dan upload program.
Tugas dan Pertanyaan :
- Ubahlah sintaks program pada Percobaan 6.2 sehingga jam menampilkan waktu saat ini !
- Jika dilakukan perhitungan dengan konfigurasi register pada sintaks program Percobaan 6.2, timer 1 akan overflow setiap berapa milliseconds ?
- Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 6.2 !
DIBAWAH INI MERUPAKAN VIDEO DARI HASIL PRAKTIKUM YANG TELAH DILAKUKAN
6.3 Counter Mode Falling Edge
Pada percobaan kali ini akan dibuat program yang berfungsi untuk menghitung jumlah penekanan switch pada input counter. Konfigurasi counter menggunakan mode falling edge.
Prosedur :
- Buatlah rangkaian seperti pada Gambar 6.3.
- Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.
- Buka Serial Monitor pada Arduino IDE, kemudian tekan switch pushbutton dan amati nilai TCNT1 yang ditampilkan pada Serial Monitor.
- Kapankah nilai counter (TCNT1) akan berubah ? Saat switch ditekan atau dilepas ? Jelaskan !
- Berapakah nilai maksimal counter jika input counter menggunakan pin T1 (Timer 1) ? Jelaskan kenapa !
- Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 6.3 !
DIBAWAH INI MERUPAKAN VIDEO DARI HASIL PRAKTIKUM YANG TELAH DILAKUKAN
6.4 Counter Mode Rising Edge
Pada percobaan kali ini akan dibuat program yang fungsinya sama dengan Percobaan 6.3. Namun pada percobaan kali ini konfigurasi counter menggunakan mode rising edge.
Prosedur :
- Gantilah sintaks program pada Percobaan 6.5 dengan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.
- Buka Serial Monitor pada Arduino IDE, kemudian tekan switch pushbutton dan amati nilai TCNT1 yang ditampilkan pada Serial Monitor.
- Kapankah nilai counter akan berubah ? Saat switch ditekan atau dilepas ? Jelaskan !
- Jelaskan perbedaan penggunaan counter mode falling edge dan mode rising edge !
- Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 6.4 !
DIBAWAH INI MERUPAKAN VIDEO DARI HASIL PRAKTIKUM YANG TELAH DILAKUKAN
Keren Gan, saya coba membuat timer yang lebih sederhana menggunakan millis(), bisa lihat disini:
BalasHapushttp://sentroino.blogspot.co.id/2015/12/membuat-timer-pada-arduino-tanpa-modul.html
wagalasehh...membantu sekali
BalasHapusSolder uap