Laporan Akhir 1 Modul 2

  





Percobaan 2

Interrupt Arduino

1. FOTO HARDWARE DAN DIAGRAM BLOK [Kembali]

a. Hardware

1. dipswitch
2. arduino una
3. resitor 
4. power supply
5. ground
6. IC Max7219 
7. LED dot matrix

b. 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


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA [Kembali]




Prinsip Kerja :

Pada percobaan 2 menggunakan interruot arduino dimana fungsi ini akan menunda program utama selama kondisi untuk mengaktifkan interrupt ini masih terpenuhi. jadi ketika switch tidak dalam keadaan falling (yaitu perubahan dari 1 ke 0) maka arduino akan menjalankan program utama. disini program utamanya berupa hitungan angka dari dengan pertambahan 1 dan akan ditampilkan ke LCD. jika switch dalam kondisi falling, maka akan dijalankan program interrupt yang bernama "tombol_ditekan". pada program ini memiliki output buzzer yang mana buzzer akan berbunyi dan pada LCD akan mati. ketika kondisi pada switch tidak falling lagi maka arduino akan kembali menjalankan program utama.

4. FLOWCHART DAN LISTING PROGRAM [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. KONDISI [Kembali]

ketika kondisi pada pin interrupt berada dalam kondisi falling maka program interrupt akan dijalankan dan menunda program utama. jika kondisi pada pin interrupt tidak falling lagi maka program utama akan kembali dijalankan 

6. VIDEO RANGKAIAN [Kembali]




7. ANALISA [Kembali]


8. LINK DOWNLOAD [Kembali]











Tidak ada komentar:

Posting Komentar

 BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2022 NAMA : AKMAL APRIMANTHA NIM : 2110951046 ELEKTRONIKA B DOSEN PENGAMPU : DARWISON.M.T.  ...