Pada pembasan sebelumnya mengenai pemograman pada arduino, telah dibahas mengenai sebuah metode Intterupt. Pada metode intterupt kali ini, menggunakan metode AttachInterupt. Dimana dengan AttachInterrupt memudahkan user dalam mengolah data arduino dengan sebuah interrupt. Pada setiap boards arduino memiliki 2 pin interrupt. pada arduino uno, memiliki 2 buah pin interrupt yang dapat difungsikan yaitu pin 2 digital (int 0), dan pin 3 digital (int 1). untuk mode interrupt external terdiri atas 4 kondisi, yaitu:
- LOW, fungsi interrupt yang dijalankan untuk kondisi pin rendah,
- CHANGE, fungsi interrupt yang dijalankan setiap kali perubahan pin nilai,
- RISING, fungsi interrupt yang dijalankan jika terjadi perubahan nilai pin dari LOW ke HIGH,
- FALLING, fungsi interrupt yang dijalankan jika terjadi perubahan nilai pin dari HIGH ke LOW.
untuk penjelasan lebih lengkap, berikut halaman mengenai AttachInterrupt http://arduino.cc/en/Reference/AttachInterrupt.
Berikut program AttachIntterupt untuk kondisi HIGH dan LOW sebuah led.
int pin=13; //variabel pin 13, untuk LED volatile int state=LOW; //kondisi awal led sebelum diberikan sebuah interrupt void setup(){ Serial.begin(9600); pinMode(pin, OUTPUT); attachInterrupt(0, blink, CHANGE); // untuk "0" yaitu menjalankan fungsi interrupt pada pin 2 digital, blink adalah class eksekusi interrupt dan "CHANGE" metode interrupt. } void loop(){ digitalWrite(pin, state); } void blink(){ state = !state; }