PERCOBAAN 2
Interrupt Arduino
- 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)
2. Hardware dan Diagram Blok
[Kembali]
A. Hardware
1. LCD
2. DipSwitch
3. Arduino Uno
B. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Prinsip Kerja
Dalam percobaan 2 ini merupakan implementasi kontrol sederhana menggunakan Arduino dengan berbagai komponen perangkat keras seperti LED, tombol sebagai input, dan buzzer sebagai output. Saat Arduino dijalankan, program akan terus menyalakan LED dan menampilkan nilai count yang terus bertambah setiap detiknya pada layar LCD. Ketika tombol ditekan, fungsi "tombol_ditekan()" dipanggil, yang mengakibatkan LED dimatikan, buzzer dinyalakan, dan nilai count direset kembali ke 0. Hal ini memberikan respons kepada pengguna bahwa tombol telah ditekan dan tindakan telah diambil. Perlu dicatat bahwa fungsi "tombol_ditekan()" menggunakan interrupt, yang memungkinkan respons yang cepat terhadap aksi pengguna. Dengan cara ini, program memberikan kontrol sederhana dengan feedback visual dan audio kepada pengguna, memungkinkan interaksi yang intuitif dengan perangkat berbasis Arduino.
4. FlowChart
[Kembali]
#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);
}
B. Flowchart
5. Video Demo [Kembali]
6. Kondisi [Kembali]
Percobaan 2 sesuai dengan modul.
7. Download File
[Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Demo Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet TOUCH SENSOR klik disini
Download Datasheet LCD 2X16 klik disini
Tidak ada komentar:
Posting Komentar