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