Blog

Panduan untuk Menggunakan Timer dan Interrupt dalam Arduino

Timer dan interrupt dalam Arduino sangat berguna dalam dunia pemrograman. Timer memungkinkan Anda untuk menjalankan kode pada waktu yang ditentukan, sedangkan interrupt memungkinkan Anda untuk merespons peristiwa eksternal secara langsung. Baca juga : Kontrol Flow dalam Pemrograman Arduino: If, Else, dan LoopTimer dalam Arduino Timer adalah
fitur yang
memungkinkan Arduino untuk mengatur waktu dan mengeksekusi kode tertentu
secara
berkala. Ada tiga jenis timer yang umum digunakan dalam Arduino, yaitu
Timer0, Timer1 dan Timer2. Ketiga timer tersebut memiliki presisi dan
fungsi yang berbeda-beda.

1. Timer0Timer0
digunakan untuk mengatur waktu dalam fungsi delay() dan millis(). Timer
ini bekerja pada presisi 8-bit dan memiliki rentang waktu yang
terbatas.

2. Timer1Timer1 memiliki
presisi 16-bit, memungkinkan Anda untuk mengatur waktu dalam rentang yang
lebih luas daripada Timer0. Timer ini biasanya digunakan untuk aplikasi yang
memerlukan presisi waktu yang tinggi.

3. Timer2Timer2 memiliki
presisi 8-bit dan sering digunakan untuk menghasilkan sinyal PWM (Pulse Width
Modulation). Panduan untuk Menggunakan Timer dalam Arduino

 Sebagai
contoh, jika Anda ingin menjalankan
sebuah fungsi setiap 1 detik sekali, maka Anda dapat menggunakan Timer1
untuk menjalankan fungsi tersebut. Berikut ini contoh kode yang dapat
Anda gunakan:

#include <TimerOne.h>

void setup() {

 
Timer1.initialize(1000000);  //
Inisialisasi Timer1 dengan periode 1 detik (dalam mikrodetik)

 
Timer1.attachInterrupt(timerCallback); 
// Menyambungkan fungsi timerCallback sebagai interrupt

}

void loop() {

 
// Kode lainnya dapat ditempatkan di sini

}

void timerCallback() {

 
// Kode yang akan dijalankan setiap 1 detik sekali

Pada contoh di atas, Anda menggunakan library TimerOne untuk mengatur Timer1. Fungsi initialize()
digunakan untuk mengatur periode timer dalam mikrodetik. Setelah itu, Anda
menggunakan attachInterrupt() untuk menentukan fungsi yang akan dijalankan ketika terjadi
interrupt. Interrupt dalam Arduino

Interrupt
adalah mekanisme yang
memungkinkan Arduino untuk merespons peristiwa eksternal secara
langsung, seperti
sinyal dari sensor atau tombol. Anda dapat membuat Arduino menjalankan
kode tertentu ketika suatu peristiwa terjadi tanpa harus terus-menerus
memeriksa kondisi tersebut dalam loop utama. Ada dua jenis interrupt
yang umum digunakan dalam Arduino, yaitu external interrupt dan timer
interrupt. 1. External InterruptExternal interrupt diaktifkan oleh perubahan status pin tertentu, seperti perubahan dari HIGH
menjadi LOW atau sebaliknya. Arduino Uno memiliki dua pin (pin 2 dan pin 3)
yang mendukung external interrupt.

2. Timer InterruptTimer interrupt diaktifkan oleh timer yang telah ditentukan sebelumnya. Timer interrupt
memungkinkan Anda untuk menjalankan kode pada waktu tertentu tanpa harus
terus-menerus memeriksa waktu dalam loop utama.Panduan untuk Menggunakan Interrupt dalam Arduino

 Berikut ini contoh kode sederhana jika Anda ingin menyalakan LED ketika tombol ditekan:  

const int buttonPin = 2;

const int ledPin = 13;

void setup() {

 
pinMode(buttonPin, INPUT);

 
pinMode(ledPin, OUTPUT);

 
attachInterrupt(digitalPinToInterrupt(buttonPin), buttonInterrupt,
CHANGE);

}

void loop() {

 
// Kode lainnya dapat ditempatkan di sini

}

void buttonInterrupt() {

 
if (digitalRead(buttonPin) == HIGH) {

   
digitalWrite(ledPin, HIGH);

 
} else {

   
digitalWrite(ledPin, LOW);

 
}

}  

Pada contoh di atas, Anda
menggunakan external interrupt untuk menyalakan dan mematikan LED ketika tombol
ditekan. Fungsi attachInterrupt() digunakan untuk menentukan pin yang akan
digunakan untuk interrupt dan fungsi yang akan dijalankan ketika terjadi interrupt. 

Jadi, menggunakan timer dan interrupt dalam Arduino
membuat aplikasi menjadi lebih responsif dan efisien. Timer
memungkinkan Anda untuk menjalankan kode pada waktu yang ditentukan,
sedangkan interrupt memungkinkan Anda untuk merespons peristiwa
eksternal secara langsung. Anda dapat membuat proyek Arduino yang lebih
kompleks dan canggih dengan memahami konsep dasar dari timer dan
interrupt. Baca juga : Penggunaan Variabel dan Tipe Data dalam Arduino
       

Siap Untuk Membuat Proyek Impianmu
Menjadi Kenyataan?

Klik di sini untuk chat langsung via
WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!

 


Terimakasih telah membaca di Aopok.com, semoga bermanfaat dan lihat juga di situs berkualitas dan paling populer Piool.com, peluang bisnis online Topbisnisonline.com dan join di komunitas Topoin.com.

Most Popular

To Top