Laporan Akhir 1 Modul 2
Percobaan 2
Interrupt
a. Hardware
1. LCD
2. Arduino Uno
3.Dipswitch 2
4. Resistor
5. Jumper
6. Breadboard
7. LED
8. Buzzer
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan dengan modul
3 . Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Pada percobaan 2 ini terdiri dari beberapa komponen, seperti breadboard, LED,LCD, arduino uno, jumper, dipswitch , buzzer dan lainnya. Dimana pada rangkaian ini dipswitch bertindak sebagai input yang nantinya akan terhubung nantinya ke arduino Uno, dan LCD dan Buzzer bertindak sebagai penampil output yang diberikan.
Pada percobaan ini , menerapakan interrupt pada arduino uno, dimana interrupt ini nantinya bertujuan untuk mengontrol LED, Buzzer, dan menampilkan jumlah hitungan atau counter pada LCD. Ketika program memasuki loop, LED akan dinnyalakan ,Buzzer akan dimatikan dan proses hitungan akan ditampilkan pada LCD. Dimana Buzzer berfungsi untuk mereset proses hitungan.
Saat penerapan rangkaian pada praktikum, rangkaian ini digunakan sebagai penghitung sederhana yang akan memberikan umpan balik ketika switch diberi kondisi.Dengan menggunakan interrupt, rangkaian dapat merespon lebih cepat terhadap inputan yang diberikan tanpa mengganggu pengulangan utama. Namun pada saat rangkaian disimulasikan, terdapat penundaan yang cukup lama setelah direset, untuk mengatasinya perlu untuk disesuaikan pada kodingan agar rangkaian dapat merespons lebih cepat.
4. Flowchart [Kembali]
a. Flowchart
b. 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. Video Simulasi Praktikum [Kembali]
6. Analisa [Kembali]
7. Download File [Kembali]
HTML Klik disini Klik disini
Video Simulasi Klik disini
Download Listing Program klik disini
Download Datasheet Buzzer klik disini
Download Datasheet Driver Motor L293 klik disini
Download Resistor Klik disini
Download Dipswitch Klik disini
Datasheet Arduino Uno klik disini
Tidak ada komentar:
Posting Komentar