Laporan Akhir 1 Modul II
Percobaan 2
Interrupt Arduino
1. Foto Hardware dan Diagram Blok [Kembali]
3. DIP Switch
4. LED
5. Buzzer
Diagram Blok:
2. Prosedur Percobaan [Kembali]
+ Rangkai semua komponen
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino
+ jalankan program pada simulasi dan cobakan dengan modul
Prinsip Kerja
Pada percobaan kali ini kita menggunakan beberapa komponen yaitu Arduino Uno, Buzzer, LCD, LED, DIP Switch, Resistor, power supply, dan Ground.
Percobaan kali ini kita hanya akan menggunakan DIP Switch sebagai input untuk memanggil atau men-trigger kodisi interrupt yang mana kondisi ini berarti akan memak sa berhenti semua program utama yang berjalan dan akan menjalankan intruksi yang berada dalam fungsi interrupt ini. Arduino juga akan terhubung dengan LCD yang akan menampilkan kondisi yang sedang berjalan terakhir arduino juga akan tehubung ke LED dan Buzzer sebagai outputnya.
Kemudian kondisi yang kita miliki pada percobaan kali ini yaitu pada program utama yang berjalan yaitu LCD akan melakukan countdown dari 100-0 sementara LED dan Buzzer akan terus menyala. Lalu kondisi interrupt akan terpanggil disaat kita men-trigger nya menggunakan DIP Switch yang mana akan langsung menghentikan semua program utama sebelumnya dan menjalankan perintah yang berada dalam fungsi interrupt yaitu LED, LCD dan Buzzer akan berhenti selama 4 detik dan akan kembali ke kondisi diawal dijalankannya rangkaian setelah 4 detik.
4. Flowchart dan Listing Program [Kembali]
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);
}
Pada kondisi 2 dari percobaan 2, Motor ke kanan,LCD menampilkan counting dari 100 sampai 0, interrupt maka motor DC berhenti 4 detik.
᭒ HTML↠ klik disini
᭒ Rangkaian ↠ klik disini
᭒ Video Percobaan↠ klik disini
᭒ Program↠ klik disini
᭒ Datasheet Arduino↠ klik disini
᭒ Datasheet LCD↠ klik disini
᭒ Datasheet DIP Switch↠ klik disini
᭒ Datasheet LED↠ klik disini
᭒ Datasheet Buzzer ↠ klik disini







0 Response to "Laporan Akhir 1 Modul II"
Posting Komentar