PRAKTIKUM 4INTERUPSI EKSTERNALTUJUAN :1. Mampu membuat program untuk penggunaan fitur interupsi ekstern al.2. Memahami perbedaan mode interupsi eksternal (falling, rising, dan any change).
PERALATAN : 1. Komputer : 1 set 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 pcsPERCOBAAN :4.1 Interupsi Eksternal dengan Mode FallingPada percobaan kali ini akan dibuat program untuk memahami penggunaan interupsi eksternal dengan mode falling. Dua buah switch akan dihubungkan pada pin interupsi eksternal 0 (INT0) dan interupsi eksternal 1 (INT1). Penekanan switch akan menginterupsi program utama (yang berada pada fungsi loop) dan memaksa untuk menjalankan rutin interupsi yang telah dideskripsikan pada program.Prosedur :1. Rangkailah rangkaian pada Gambar 4.1.
Gambar 4.1 Rangkaian percobaan 4.12. Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan uploadprogram ke sistem minimum Arduino.#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, 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("Interrupt INT0"); delay(2000);}void rutinInterupsi1() {lcd.setCursor(0,0); lcd.print("Int1 Program"); lcd.setCursor(0,1); lcd.print("Interrupt INT1"); delay(2000);}
Tugas dan Pertanyaan :1. Biarkan program berjalan sehingga pada LCD nilai count loop increment sampai diatas 5. Kemudian tekan salah satu switch yang terhubung pada INT0 atau INT1 selama 5 detik kemudian lepaskan. Amati teks yang ditampilkan pada LCD. Apakah yang akan terjadi jika switch ditekan ? Apakah yang akan terjadi jika switch dilepas ?Pada saat di switch 1 ditekan akan muncul di layar lcd tulisan “Interrupt INT0” dan saat switch 1 dilepas maka akan muncul tulisan “Count Loop ” dan juga hitungannya.2. Jelaskan pada saat kapan terjadinya proses interupsi ?Pada saat inputan kondisi HIGH menuju LOW, lalu pin 2 dan pin 3 bernilai 1 karena kondisi pull up, sebelum switch di tekan. Dan pada saat switch ditekan terjadi perubahan nilai dari 1 ke 0 karena ground dan switch saling terhubung.4.2 Interupsi Eksternal dengan Mode RisingDua buah switch akan dihubungkan pada pin INT0 dan INT1 sama seperti Percobaan 4.1. Penekanan switch akan menginterupsi program utama (yang berada pada fungsi loop) dan memaksa untuk menjalankan rutin interupsi yang telah dideskripsikan pada program. Pada Percobaan mode interupsi yang digunakan adalah rising.Prosedur :1. Gantilah program pada Percobaan 4.2 dengan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.#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, 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("Interrupt INT0");delay(2000);}void rutinInterupsi1() {lcd.setCursor(0,0); lcd.print("Int1 Program");lcd.setCursor(0,1); lcd.print("Interrupt INT1");delay(2000);Tugas dan Pertanyaan :1. Biarkan program berjalan sehingga pada LCD nilai count loop increment sampai diatas 5. Kemudian tekan salah satu switch yang terhubung pada INT0 atau INT1 selama 5 detik kemudian lepaskan. Amati teks yang ditampilkan pada LCD. Apakah yang akan terjadi jika switch ditekan ? Apakah yang akan terjadi jika switch dilepas ?Pada saat di switch 1 ditekan akan muncul di layar lcd tulisan “Count Loop” dan saat switch 1 dilepas maka akan muncul tulisan “Interrupt INT0 ” dan juga hitungannya.2. Jelaskan pada saat kapan terjadinya proses interupsi ?Pada saat inputan kondisi LOW menuju HIGH, maka disebut dengan RISING sebelum switch di tekan. Dan pada saat switch dilepas terjadi perubahan nilai dari 0 ke 1 karena ground dan switch tidak saling terhubung dan menjalankan program sebelumnya.3. Kapankah interupsi mode falling terjadi ? kapankah interupsi mode rising terjadi ? Jelaskan !Pada saat inputan kondisi HIGH menuju LOW, disebut dengan falling, sementara rising saat inputan kondisi LOW menuju HIGH.4.3 Interupsi Eksternal dengan Mode Any ChangePada 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 interupsi.Prosedur :1. Gantilah sintaks program pada Percobaan 4.2 dengan sintaks program berikut ini. Lakukan kompilasi dan upload program ke sistem minimum Arduino.#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("Interrupt INT0");delay(2000);}void rutinInterupsi1() {lcd.setCursor(0,0); lcd.print("Int1 Program");lcd.setCursor(0,1); lcd.print("Interrupt INT1");delay(2000);}Tugas dan Pertanyaan :1. Biarkan program berjalan sehingga pada LCD nilai count loop increment sampai diatas 5. Kemudian tekan salah satu switch yang terhubung pada INT0 atau INT1 selama 5 detik kemudian lepaskan. Amati teks yang ditampilkan pada LCD. Apakah yang akan terjadi jika switch ditekan ? Apakah yang akan terjadi jika switch dilepas ?Penggabungan anatara interupsi falling dan interupsi rising dimana pada saat switch ditekan maka akan muncul di LCD “interrupt INT0” dan saat switch dilepas maka akan muncul lagi di LCD “interrupt INT0”.2. Jelaskan pada saat kapan terjadinya proses interupsi ?Pada saat terjadi perubahan nilai dari 1 ke 0 ataupun dari 0 ke 1. Saat switch ditekan maka terjadi proses interrupsi falling dan saat dilepas maka terjadi interupsi rising.3. Kapankah interupsi mode any change terjadi ? Jelaskan !Pada saat terjadinya perubahan nilai dari 1 ke 0 atau dari 0 ke 1 maka ini disibeut interupsi any change.
Minggu, 13 Oktober 2013
INTERUPSI EKSTERNAL
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar