Selasa, 26 November 2013

INTERUPSI EKTERNAL


TUJUAN :
1.  Mampumembuat program untukpenggunaanfiturinterupsieksternal.
2.  Memahamiperbedaan mode interupsieksternal (falling,rising,dan any change).

PERALATAN :
1.  Komputer                           : 1set
2.  Arduino Uno                      : 1 pcs
3.  Project board                      : 1 pcs
4.  Kabel jumper                      : 1 pcs
5.  Switch pushbutton             : 2 pcs 
6.  LCD                                   : 1 pcs
7.  Potensiometer 10K                        : 1 pcs

PERCOBAAN :
4.1 InterupsiEksternaldengan Mode 

Padapercobaan  kali iniakandibuat program untukmemahamipenggunaaninterupsieksternaldengan mode falling.duabuah switch akan di hubungkanpada pininterupsieksternal 0 (INT0) daninterupsieksternal 1 (INT1).penekanan switch akanmenginterupsi program utama (yang beradapadafungsi loop) danmemaksauntukmenjalankanrutininterupsi yang telahdideskripsikanpada program.
 
Prosedur :
1.      RangkailahrangkaianpadaGambar
 

1.      Tuliskansintaks program berikutini,kemudianlakukankompilasidan upload program ke system minimum arduino.


#include
LiquidCrystallcd(A0,A1,A2,A3,A4,A5);
unsignedintcountLoop = 0;

voidsetup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, FALLING);
attachInterrupt(1, rutinInterupsi1, FALLING);
pinMode(2,0);
pinMode(3,0);
digitalWrite(2,1);
digitalWrite(3,1);
}
Voidloop() {
lcd.setCursor(0,0);lcd.print(“main program”);
lcd.setCursor(0,1);lcd.print(“count loop”); lcd.print(count loop);
countLoop++;
delay(1000);
}
void rutinInterupsi0( ){
lcd.setCursor(0,0); lcd.print(lcd.print(“int0 program”);
lcd.setCursor(0,1); lcd.print(lcd.print(“interrupt INT0);
delay(2000);
}

void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print(“int1 program”);
lcd.setCursor(0,1); lcd.print(interrupt INT1);
delay(2000);
}


Tugasdanpertanyaan :

1.      Biarkan program berjalansehinggapada LCD nilai count loop increment sampai di atas 5.kemudian tekansalahsatu switch yang terhubungpada INT0 atau INT1 selama 5 detikkemudianlepaskan.amatiteks yang di tampilkanpada LCD. Apakah yang akanterjadijika switch di tekan? Apakah yang akanterjadijika switch di lepas?
Jawab:
Saat push button di tekanmakan program interupsiakanterjaditetapikarena proses interupsisangatsingkatmakahanyaakanterlihatsebentarsaja.
Dan saat push button di dilepastidakakanterjadiapaapa.
                                              
2.      Jelaskanpadasaatkapanterjadinya proses interupsi?
Jawab:
Karna setting mode interupsipada falling, makainterupsiterjadipadasaatterjadiperubahankondisidari high ke low pada
4.2 Interupsieksternaldengan mode rising
            Duabuah switch akan di hubungkanpada pin INT0 dan INT1 samasepertipercobaan 4.1. penekanan switch akanmenginterupsi program utama ( yang beradapadafungsi loop) danmemaksauntukmenjalankanrutininterupsi yang telahdideskripsikanpadaprogram.padapercobaan mode interupsi yang di gunakanadalahrisins.
Prosedur:
1.      Gantilah program padapercobaan 4.2 dengansintaks program berikutini,kemudianlaukankomplikasidan upload program ke system minimum arduino.

#include
LiquidCrystallcd(A0,A1,A2,A3,A4,A5);
unsignedintcountLoop = 0;



voidsetup() {
lcd.begin(16,2); lcd.clear();
attachInterrupt(0, rutinInterupsi0, RISING);
attachInterrupt(1, rutinInterupsi1, RISING);
pinMode(2,0);
pinMode(3,0);
digitalWrite(2,1);
digitalWrite(3,1);

}
Voidloop() {
lcd.setCursor(0,0); lcd.print(“ main program”);
lcd.setCursor(0,1); lcd.print(“count loop”); lcd.print(count loop);
countLoop++; delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print(“int0 program”);
lcd.setCursor(0,1); lcd.print(“interrupt INT0“);
delay(2000);
}
void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print(“int1 program”);
lcd.setCursor(0,1); lcd.print(“interrupt INT1);
delay(2000);
}



Tugasdanpertanyaan :

1.      Biarkan program berjalansehinggapada LCD nilsi count loop sampai 5 di atas 5. Kemudiantekansalahsatu switch yang terhubungpada  INT0atau INT1 selama 5 detikkemudianlepaskan.amatiteks yang di tampilkanpadaLCD.apakah yang akanterjadijika switch di tekan ? apakah yang akanterjadijika switch di lepas?
Jawab:
Saatpush button di tekanmaka program tidakterjadiinterupsi
Dan saat push button di dilepasakanterjadiinterupsi.

2.      Jelaskanpadasaatkapanterjadinya proses interupsi?
Jawab:
Padasaatsaat button di lepas, karenapada mode RISING interupsiterjadipadasaatperubahankondisi Low ke High.

3.      Kapankahinterupsi mode falling terjadi?kapankahinterupsi mode rising terjadi?jelaskan?
Jawab:
Pada mode falling interupsiterjadiketikaterjadiperubahankondisidari high ke low, sedangkanpada mode rising dari low ke high.


4.3 interupsieksternaldengan mode any change

            Padapercobaan mode interupsi yang di gunakanadalah any change.duabuah switch akan di hubungkanpada pin INT0 atau INT1.penekanan switch akanmembuat program utamapadafungsi loop terhentidanmengeksekusirutininterupsi.

Prosedur :

#include
LiquidCrystallcd(A0,A1,A2,A3,A4,A5);
unsignedintcountLoop = 0;

voidsetup() {
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0,CHANGE);
attachInterrupt(1, rutinInterupsi1,CHANGE);
pinMode(2,0);
pinMode(3,0);
digitalWrite(2,1);
digitalWrite(3,1);

}
Voidloop() {
lcd.setCursor(0,0); lcd.print(“main program”);
lcd.setCursor(0,1); lcd.print(“count loop”); lcd.print(count loop);
countLoop++; delay(1000);
}
void rutinInterupsi0() {
lcd.setCursor(0,0); lcd.print(“int0 program”);
lcd.setCursor(0,1); lcd.print(“interrupt INT0”);
delay(2000);
}



void rutinInterupsi1() {
lcd.setCursor(0,0); lcd.print(“int1 program”);
lcd.setCursor(0,1); lcd.print(“interrupt INT1”);
delay(2000);
}


Tugasdanpertanyaan :

1.biarkan program berjalansehinggapada LCD nilai count loop increment sampai di atas 5.kemudian tekansalahsatu switch yang terhubungpada INT0 atau INT1 selama 5 detikkemudianlepaskan.amatiteks yang di tampilkanpada LCD. Apakah yang akanterjadijika switch di tekan?apakah yang akanterjadijika switch di lepas ?
Jawab:
Interupsiterjadipadasaat button di tekanataupundilepas.

2.jelaskanpadasaatkapanterjadinya proses interupsi?
Jawab:
Pada mode change interupsiterjadisaatperpindahaankondisi.


3.kapankahinterupsi mode change terjadi?jelaskan?
Jawab:
Pada mode change interupsiterjadisaatperpindahaankondisi.


Tidak ada komentar:

Posting Komentar