Percobaan II
Interupt Arduino
1. Foto Hardware dan Diagram Blok [Kembali]
4. DIP Switch
5. L293D
6. Motor DC
7. Potensiomotor
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
Prinsip Kerja
Pada saat percobaan kami menggunakan alat yang telah disediakan dimana ini berjalan dengan memanfaatkan swicth sebagai interupt dan adanya bauzzer sebagai bunyi bahwasanya program berhenti dan lcd untuk melihat data berjalan dengan tampilan yang disesuaikan dengan program
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);
}
Main program akan berjalan terus dimana pada main program angka akan terus bertambah 1 dan LED akan selalu menyala ketika pin switch 2 diubah dari kondisi logika 1 ke logika 2 maka akan terjadi interupt yang akan mengulang angka dan mematikan LED dan menyalakan buzzer.
- HTML↠ klik disini
- Video Percobaan↠ klik disini
Tidak ada komentar:
Posting Komentar