Tuesday, February 5, 2019

Interrupt Pada Arduino (Aplikasi Program Running LED)


Fungsi Interrupt pada Arduino adalah suatu fungsi untuk memicu program lain secara eksternal atau internal.

Singkatnya, dengan kamu memberi masukan atau sebuah keluaran, kamu bisa memproses program lain.

Secara sederhana arduino sudah menyediakan fungsi khusus untuk penggunaan interupt yaitu dengan attachInterrupt (interrupt, function, mode) .

Khusus untuk Arduino Uno, hanya memiliki 2 pin interrupt yaitu INT0 pada pin 2 digital dan INT1 pada pin 3 digital.

Pada bagian fungsi bisa ditulis program fungsi yang dimaksud. Contoh untuk program fungsi void variasi() .

Mode Penggunaan Interrupt

Mode LOW. Pada mode ini interrupt akan diaktifkan saat pin int memiliki logika low dan akan aktif selama masih berlogika low. Artinya bila tidak ada trigger awal, intterupt dapat bekerja menjalankan program fungsi.
Mode CHANGE. Interrupt akan diaktifkan saat terjadi perubahan logika baik dari low ke high ataupun high ke low.
Mode RISING. Pengaktifan interrupt akan terjadi jika pin mengalami perubahan logika dari low ke high. Bedanya dengan CHANGE, ketika dari high ke low interrupt tidak akan aktif.
Mode FALLING. Perubahan logika pada pin int dari high ke low akan mengaktifkan fungsi interrupt. Ini menjadi kebalikan dari metode RISING.

Rangkaian Interrupt 
Rangkaian Intterupt Running LED
Contoh Program Arduino



Pada program ini, inisialisasi input dan output pada void setup. Jelas sesuai dengan gambar proteus.
Pada void setup juga terdapat instruksi attachInterrupt (digitalPinToInterrupt(2) , variasi, RISING); untuk inisialisasi pemilihan pin digital 2, fungsi program dan mode interrupt.
Pada void loop terdapat fungsi switch case untuk memanggil program yang sesuai kanankiri, kirikanan, dan tengahkanankiri.
Namun bedanya ketika terdapat interrupt diaktifkan saat menekan tombol di pin digital 2 akan langsung mengalihkan program ke fungsi void variasi.
Yang selanjutnya mengalihkan program secara langsung dari yang awalnya kanankiri langsung loncat ke program kirikanan. Tanpa perlu menunggu program running led selesai dari kanan ke kiri.
Itu penjelasan singkat mengenai interrupt, aplikasinya banyak banget. Bisa digunakan untuk kontrol motor yang memerlukan banyak trigger yang dapat juga diaplikasikan dengan rangkaian elektronika daya.
Selamat mencoba!

, ,

6 comments:

  1. gan led nya yang nyala cuman nomer 2, yang lain mati, gimana ya?

    ReplyDelete
  2. Om kalau pakai 3 tombol bisa nggk? 1. Kekanan
    2. Kemiri
    3. Stop

    ReplyDelete
  3. I can set up my new idea from this post. It gives in depth information. Thanks for this valuable information for all,.. Arduino library for Proteus

    ReplyDelete