Cara Mudah Mengedipkan LED (Blink LED) Menggunakan Interrupt pada Arduino

Dipublikasikan oleh Admin pada

Cara mudah membuat LED blink pada Arduino dengan Timer Interrupt

Mengedipkan LED (Blink LED) pada Arduino mudah dilakukan memakai fungsi digitalWrite() dan delay() atau millis(). Fungsi-fungsi Arduino tersebut sudah cukup mudah dalam membuat interval. Tetapi menggunakan fungsi delay() akan menunda proses berikutnya. Demikian pula menggunakan millis(), apabila terjadi proses panjang yang memakan waktu lama, maka timing berkedipnya LED bisa menjadi tidak lancar.

Alternatif lain untuk mengedipkan LED dengan Arduino adalah dengan menggunakan timer interrupt. Dengan menggunakan timer interrupt ini berkedipnya LED tidak akan terganggu dan dapat berjalan parallel dengan proses lain. Misalnya LED akan tetap berkedip walaupun program sedang berkomunikasi serial atau sedang menulis ke LCD.

Interrupt adalah suatu tindakan sistem yang akan menghentikan program utama (interupsi) untuk menjalankan suatu fungsi interrupt yang sudah didefinisikan oleh programmer.

Timer Interrupt berarti interupsi yang akan melakukan interupsi berdasarkan timer. Yaitu apabila terjadi hitungan timer sesuai yang sudah ditentukan, maka sistem akan memanggil fungsi interrupt.

Bagi pembaca yang sudah terbiasa dengan pemrograman komputer, mungkin sudah pernah mengenal sebuah object timer atau class timer, nah timer interrupt ini kurang lebih seperti itu.

Contoh program mengedipkan LED dengan timer interrupt ini tidak terbatas penggunaan nya pada LED saja. Bisa digunakan untuk keperluan I/O lain, misalnya untuk menyalakan Buzzer yang terus-menerus bunyi saat ada peringatan tertentu. Atau mengontrol relay pada saat robot mobil berjalan, dsb.

Contoh Program LED Blink Arduino dengan Timer Interrupt

Contoh program Arduino di bawah ini akan mengedipkan LED Internal (pada pin 13) setiap 0.2 detik sekali dengan cara mudah karena menggunakan library yang sudah ada.

Untuk mencoba contoh program Arduino di atas, jangan lupa sebelumnya untuk mendownload library TimerOne yang diperlukan. https://github.com/PaulStoffregen/TimerOne

Selamat mencoba dan selamat berkreasi dengan Arduino.

Topik hangat: