Kamis, 21 Maret 2024

LA M2P2K2

 



Percobaan 2
Interrupt Arduino - LED dan LCD

1. Foto Hardware dan Diagram Blok [Kembali]

    
        1. Arduino Uno



        2. LCD

 

      3. DIP Switch


 

      4. Buzzer

        5. LED
 


Diagram Blok:



2. Prosedur Percobaan  [Kembali]

1. Susun semua elemen perangkat
2. Buatlah sebuah skrip di dalam aplikasi Arduino IDE
3. Setelah selesai, unggulkan skrip ke papan Arduino
4. Aktifkan skrip dalam simulasi dan uji dengan modul yang ada


Rangkaian Simulasi
 

Prinsip Kerja

Pada rangkaian ini, digunakan komponen seperti Arduino Uno, LED, LCD, DIP Switch, dan Buzzer. Prinsip kerjanya adalah saat rangkaian dijalankan, Arduino akan terus menghitung angka (Countdown), menyalakan LED dan buzzer. Angka tersebut akan terus berkurang dari 100 hingga 0 dan ditampilkan pada LCD. Perhitungan angka ini akan terus berkurang sebesar satu hingga mendapatkan interupsi. Interupsi terjadi ketika pin tertentu (dalam hal ini pin 2) mengalami perubahan dari logika 1 ke logika 0 (Falling). Ketika interupsi terjadi, program akan mengulang angka yang dihitung sebelumnya, mematikan LED dan buzzer, kemudian melanjutkan perhitungan dari angka sebelumnya sebelum terjadi interupsi. Proses ini akan berulang lagi hingga pin interupsi (pin 2) mengalami perubahan logika dari 1 ke 0 (Falling) kembali.

4. Flowchart dan Listing Program [Kembali]

Flowchart
http://www.plantuml.com/plantuml/png/JO-nZjim44Jx_Ohj8dLEIgbnOXc10LTEcbG1BQwiXQXTWLp2iOFxzxkJBDyr13Z3uRpP9dFHyXZW2pRKiH2ctasK80qiaujkn5R5ix4A_WT4n1-k7IvHi_YT1eruv4jlVoW4lIw-HaznyHeNXvyQFCb9FRp0HyrS3Ci9rK7Os0M-4nvtJGtLBpASM71KJ-dj_jtCjJso6CMO9wi18ataRAwiVkSeg8B7VLD_LheEp_b-f_XG6qvJS3TiDOlDWTqQE4WRQIInnLm3zFxyAoPgLNpzACLhpu6mi9Yf1E0EYyDAXYep-RSIhIV1uaQfN3xR_wCs6w7fUDRmrxFHuAG62ecm42s1n7C7yAHV1ZtdhLkg4oLwWgwGcyq3CzK0oNI2BOdFOtW5

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]

Motor ke kanan,LCD menampilkan counting dari 100 sampai 0, interrupt maka motor DC berhenti 4 detik


    Download HTML
    Download Rangkaian
   
Download Program
   
Download Video Simulasi
    Download Datasheet SW-SPDT
    
Download Datasheet Arduino Uno
    Download Datasheet Buzzer 

    Download Datasheet LCD 2x16

 











Tidak ada komentar:

Posting Komentar

Sistem Otomatis Lampu Belajar dan Kipas Pendingin Berbasis Kehadiran dan Suara

[menuju akhir] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percob...