MIKROPROSESOR
COUNTER/TIMER ARDUINO
LABORATORIUM MIKROKONTROLER
PROGRAM STUDI TEKNOLOGI ELEKTRO-MEDIS
PROGRAM VOKASI
UNIVERSITAS MUHAMMADIYAH YOGYAKARTA
2021
PRAKTIKUM 2
COUNTER/TIMER ARDUINO
I. Dasar Teori
Timer dan Counter merupakan fitur yang telah tertanam di mikrokontroler AVR yang
memiliki fingsi terhadap waktu. Fungsi pewaktu yang dimaksud disini adalah penentuan
kapan program tersebut dijalankan, tidak hanya itu saja fungsi timer yang lainnya adalah
PWM, ADC, dan Oscillator. Prinsip kerja timer dengan cara membagi frekuensi (prescaler)
pada clock yang terdapat pada mikrokontroler sehingga timer dapat berjalan sesuai dengan
frekuensi yang dikehendaki.
Timer merupakan fungsi waktu yang sumber clocknya berasal dari clock internal.
Sedangkan counter merupakan fungsi perhitungan yang sumber clocknya berasal dari external
mikrokontroler. Salah satu contoh penggunaan fungsi timer yaitu pada jam digital yang
sumber clocknya bisa menggunakan crystal oscillator dan contoh penggunaan counter pada
penghitung barang pada konveyor yang sumber clocknya berasal dari sensor yang mendeteksi
barang tersebut
V. Hasil Praktikum
A. Percobaan 1
C. Percobaan 3
Gambar 3. Percobaan Ketiga
D. Percobaan 4
Gambar 4. Percobaan Keempat
E. Percobaan 5
Gambar 5. Percobaan Kelima
VI. Analisis
A. Percobaan 1
Kode program dan penjelasan perbaris program :
int data;
void setup()
{
Serial.begin(9600);
pinMode(12, INPUT_PULLUP);
pinMode(2, OUTPUT);
}
void loop()
{
if(digitalRead(12) == LOW)
{
data++;
Serial.println(data);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
}
}
Keterangan :
int = menyatakan tipe data dan integer (bilangan bulat)
Void setup = sebagai library dan hanya akan dijalankan sekali
PinMode = sebagai mengkonfigurasi pin tertentu
Serial.begin(9600) = sebagai penggunaan serial monitor
Void loop = menjalankan program yang dibuat dan dijalankan berulang-ulang
Serial.println(data) = mengirim data ke port serial dan menampilkannya
digitalWrite = mengeluarkan logika 1 atau logika 0
delay = sebagai waktu yang diberikan logika 1 atau logika 0
B. Percobaan 2
Kode program dan penjelasan perbaris program :
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
detik++;
if(detik >=60)
menit++;
detik=0;
if(menit>60)
jam++;
menit=0;
if(jam>24)
jam=0;
Serial.print("jam: ");
Serial.print(jam);
Serial.print(menit);
Serial.println(detik);
delay(500);
Keterangan :
C. Percobaan 3
1. Kode program dan penjelasan perbaris program
void setup() {
pinMode(7, OUTPUT);
pinMode(3, INPUT_PULLUP);
}
void loop() {
if (digitalRead(3)==LOW) {
digitalWrite(7, HIGH);
}
if (digitalRead(3)==HIGH) {
digitalWrite(7, LOW);
}}
Keterangan :
Void setup = sebagai library dan hanya akan dijalankan sekali
PinMode = sebagai mengkonfigurasi pin tertentu
Void loop = menjalankan program yang dibuat dan dijalankan berulang-ulang
digitalRead = membaca logika 1 atau logika 0
digitalWrite = mengeluarkan logika 1 atau logika 0
if = sebegai penunjuk “jika”. Contoh, jika 7 HIGH maka 3 LOW
2. Flowchart
Mulai
VII. Kesimpulan
Dari praktikum ini dapat ditarik kesimpulan bahwa void setup merupakan tempat untuk
memberikan program atau perintah dalam penyetelan penggunaan pin arduino dengan proses
pembcaan program hanya dilakukan sekali, sedangkan void loop dapat diberi sebuah program pada
arduino dan akan dibaca berurutan tetapi setelah mencapai akhir program maka arduino akan
kembali membaca program dari awal lagi, sehingga LED akan hidup bergantian secara terus
menerus ketika program atau arduino dijalankan dan akan mati ketika program atau arduino
dimatikan. Hal ini dapat dilihat bahwa pada percobaan pertama merupakan program void setup
sedangkan percobaan kedua merupakan void loop.
VIII. Lampiran
1. Tugas 1
Membuat LED 1-5 berkedip secara bergantian menggunakan fungsi for
// C++ code
//
void setup() {
for(int pin_LED = 1; pin_LED < 6; pin_LED++){
pinMode(pin_LED, OUTPUT);
}
}
void loop() {
for (int pin_LED = 1; pin_LED < 6; pin_LED++){
digitalWrite(pin_LED, HIGH); //Membuat lampu LED aktif
delay(1000); //Memberikan jeda selama 1 detik
digitalWrite(pin_LED, LOW); //Membuat lampu LED non-aktif
}
2. Tugas 2
Membuat rangkaian 2 push button dan 1 LED, push button satu untuk menghidupkan