Kamis, 28 November 2013


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.
Tugas dan Pertanyaan :
  • 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.
Tugas dan Pertanyaan :
  • 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.
Tugas dan Pertanyaan :
  • 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 




 

2 komentar:

  1. Keren Gan, saya coba membuat timer yang lebih sederhana menggunakan millis(), bisa lihat disini:
    http://sentroino.blogspot.co.id/2015/12/membuat-timer-pada-arduino-tanpa-modul.html

    BalasHapus

Subscribe to RSS Feed Follow me on Twitter!