Laporan Akhir 1 Modul 2 Percobaan 2


Percobaan II

Interrupt Arduino - LCD,LED, dan Motor DC

1. Prosedur [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)
Gambar 1. Rangkaian Hardware
 

   1. Arduino Uno

    2. LED
    
    3. Buzzer

    4. LCD

    5. Display Switch
    6. Resistor

    

    7. Kabel jumper

    8. Breadboard


   

Diagram Blok:
              



Gambar 1. Rangkaian Simulasi.

Prinsip Kerja:

    Pada rangkaian percobaan 2 ini menggunakan Dip Switch yang berfungsi sebagai input, kemudian buzzer, LED, dan LCD berfungsi sebagai output.
Ketika Arduino diaktifkan, perangkat akan secara terus-menerus mengatur pencahayaan LED dan menampilkan peningkatan nilai hitungan secara berkala pada layar LCD. Pada saat tombol dipencet, langkah-langkah dalam fungsi "tombol_ditekan()" akan dijalankan. Ini mengakibatkan LED dimatikan, buzzer diaktifkan, dan nilai hitungan dikembalikan ke nol. Langkah-langkah ini memberikan umpan balik kepada pengguna bahwa aksi telah diambil setelah tombol dipencet. Perlu dicatat bahwa fungsi "tombol_ditekan()" menggunakan interrupt untuk merespons dengan cepat terhadap tindakan pengguna.
 

4. Flowchart dan Listing Program [Kembali]

Flowchart:


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]

    Kondisi percobaan 2 sesuai modul 2

᭒ HTML↠ klik disini
᭒ Gambar Rangkaian ↠ klik disini
᭒ Video Demo ↠ klik disini
᭒ Listing Program ↠ klik disini
᭒ Download Datasheet ARDUINO UNO   klik disini
᭒ Download Datasheet LCD 2X16   klik disini
᭒ Donwload Datasheet Buzzer   Klik disini
᭒ Download Datasheet LED   Klik disini






Tidak ada komentar:

Posting Komentar

Bahan Presentasi Untuk Matakuliah Sistem Digital 2023 OLEH: Fadhila Amanda 2110952031 Dosen Pengampu: Dr. Darwison,MT Referensi: a. Anil K. ...