Laporan Akhir 1 Modul 2
Percobaan 2
Interupt Arduino
1. Foto Hardware dan Diagram Blok [Kembali]
Diagram Blok:
2. PROSEDUR PERCOBAAN [Kembali]
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing Program
- Upload program ke arduino
- Mencoba rangkaiannya dengan memvariasikan kondisi interupt (Falling, Rising, High dan Low)
3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]
Dalam percobaan ini, rangkaian terdiri dari Arduino Uno, LCD, LED, dipswitch, dan PCF8574. Dipswitch terhubung ke pin 2 Arduino dan bertindak sebagai input, sedangkan LCD, LED, dan buzzer adalah outputnya. Ketika dipswitch diaktifkan, output dari dipswitch akan masuk ke Arduino dan selanjutnya akan diteruskan ke LCD, LED, dan buzzer. Hal ini menyebabkan LCD menampilkan karakter counting, LED menyala, dan buzzer berbunyi. Ketika diberi interrupt, LCD akan mengulang counting dari 0, LED akan mati atau berkedip, dan buzzer aktif.
4. FLOWCHART DAN LISTING PROGRAM [Kembali]
Flowchart:
Flowchart Program |
Listing Program:
#include<LiquidCrystal_I2C.h> #define LED 13 //pin 13 bernama LED #define tombol 2 //pin 2 (pin interrupt) bernama tombol #define buzzer 11 volatile byte led_nyala = LOW; //kondisi mula-mula LED mati static int count = 0; volatile byte buzzer_nyala = LOW; LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { lcd.init(); lcd.backlight(); pinMode(LED,OUTPUT); pinMode(tombol,INPUT); attachInterrupt(digitalPinToInterrupt(2),tombol_ditekan, FALLING); //pin 2 (interrupt 0) digunakan sebagai interrupt eksternal } void loop() { //Main Program digitalWrite(LED,HIGH); digitalWrite(buzzer,LOW); lcd.setCursor(0,0); lcd.print("Count:"); lcd.setCursor(0,1); lcd.print(count); count += 1; // menambahkan integer count dengan angka 1 delay(1000); } //membuat fungsi bernama tombol_ditekan, fungsi ini (ISR) dieksekusi secara otomatis setelah arduino memperoleh sinyal interrupt di pin 2 void tombol_ditekan() { digitalWrite(LED,LOW); digitalWrite(buzzer,HIGH); count = 0; delay(100000); }
5. KONDISI [Kembali]
Main program akan berjalan terus dimana pada main program angka akan terus bertambah 1 dan LED akan selalu menyala ketika pin 2 diubah dari kondisi logika 1 ke logika 2 maka akan terjadi interupt yang akan mengulang angka dan mematikan LED dan menyalakan buzzer.
6. VIDEO RANGKAIAN [Kembali]
Komentar
Posting Komentar