Laporan Akhir 1(M2)

  





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]




Prinsip Kerja :

Pada rangkaian percobaan ini terdapat arduino uno, lcd, led, dipswitch, dan PCF8574. dimana dipswitch terhubung ke pin 2 aduino dan berperan adalah sebagai input secdcangkan lcd, led, dan buzzer adalah sebagai outputnya.

ketika dipswitch dinyalakan maka akan mengeluarkan output menuju arduino dan kemudian diteruskan ke lcd, led dan buzzer, sehingga menyebabkan lcd menampilkan karakter counting, dan led menyala. kemudian saat di beri interrupt maka lcd akan mengulang counting dari 0, led mati/berkedip dan buzzer akan berbunyi.


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]




7. ANALISA [Kembali]







8. LINK DOWNLOAD [Kembali]

HTML                    klik disini

Rangkaian            klik disini

Listing Program     klik disini



Tidak ada komentar:

Posting Komentar