Assalamualaikum wr.wb
Hm, kali ini saya akan memposting tentang interupsi Internal ada beberapa mode dalam intterpusi kali ini saya akan mensimulasikannya dalam ISIS
A.
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, FALLING);
attachInterrupt(1, rutinInterupsi1, FALLING);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
}
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, RISING);
attachInterrupt(1, rutinInterupsi1, RISING);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
C.
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, CHANGE);
attachInterrupt(1, rutinInterupsi1, CHANGE);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
}
Hm, kali ini saya akan memposting tentang interupsi Internal ada beberapa mode dalam intterpusi kali ini saya akan mensimulasikannya dalam ISIS
A.
Interupsi Eksternal d
engan Mode Falling
Pada percobaan kali ini akan
dibuat program untuk memahami penggunaan interupsi eksternal den gan mode falling.
Dua buah switch akan dih ubungkan pada pin interupsi eksternal 0 (INT0)
dan interupsi eksternal 1 (INT1). Pen ekanan switch akan menginterupsi program
utama (yang berada pada fungsi loop) d an memaksa untuk menjalankan
rutin interupsi yang telah dideskripsikan pada program.
berikut adalah step2 nya :
- Tuliskan Syntax dbawah ini pada software Arduino , lalu di compile :
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, FALLING);
attachInterrupt(1, rutinInterupsi1, FALLING);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
}
- setelah itu rangkai Komponen ini pada ISIS
- Setelah itu copy baris kedua dari bawah pada software arduino dan pastekan ke dalam simulasi ISIS , Apabila percobaan berhasil maka akan muncul sperti dibawah ini
Kondisi Awal (high)
saat switch ditekan
B.
4.2 Interupsi Eksternal d
engan Mode Rising
Dua buah switch akan
dihubungkan pada pin INT0 dan I NT1 sama seperti Percobaan diatas Peneka nan switch
akan menginterupsi program utama (yang berada pada fungsi loop) da n
memaksa untuk menjalankan rutin in terupsi yang telah dideskripsikan pada
program. Pada Percobaan mode interupsi yan g digunakan adalah rising.
- Tuliskan syntax dibawah ini pada program arduino kamu
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, RISING);
attachInterrupt(1, rutinInterupsi1, RISING);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
- Rangkailah komponen pada simulasi ISIS
- Apabila simulasi telah berhasil maka akan tampak seperti gambar dibawah ini :
C.
Interupsi Eksternal d
engan Mode Any Change
Pada Percobaan mode interupsi
yang digunakan adalah any change. Dua buah switch akan
dihubungkan pada pin INT0 dan INT1. Penekanan switch akan membuat program
utama pada fungsi loop terhenti dan mengeksekusi rutin int erupsi.
- Masukan syntax dbawah ini pada program arduino anda
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, CHANGE);
attachInterrupt(1, rutinInterupsi1, CHANGE);
}
void loop() {
lcd.setCursor(0,0); lcd.print("Main Program");
lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
countLoop++;
delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print("Int0 Program");
lcd.setCursor(0,1); lcd.print("Intterupt INT0");
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print("Int1 Program");
lcd.setCursor(0,1); lcd.print("Interrupt INT1");
delay(2000);
}
- Kemudian rangkailah program pada simulasi ISIS
- Setelah itu compile dan satukan program arduino dan simulasi isis jika sudah berhasil maka akan tampak seperti gambar dibawah ini :