1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Hardware dan Diagram Blok
[Kembali]
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Cara kerja rangkaian ini adalah Arduino terus menghitung angka dan menyalakan LED. Jumlahnya terus bertambah dan ditampilkan di LCD. Perhitungan numerik ini akan tetap pada +1 hingga terjadi interupsi. Interupsi pada rangkaian ini digunakan pada pin 2 Ketika pin interupsi atau pin 2 masuk ke keadaan jatuh (logika berubah dari logika 1 ke logika 0), terjadi interupsi. Interupsi yang terjadi akan mengulang nilai yang dihitung, LED akan mati, dan buzzer akan berbunyi.Karena interupsi hanya terjadi ketika kondisi turun, maka program akan mengulang kembali perhitungan dan menyalakan LED hingga pin/pin 2 interupsi turun kembali.
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);
}
Percobaan 2 dari modul
6. Video Demo [Kembali]
7. Soal Analisa
[Kembali]
1. Bagaimana switch pada percobaan dapat mengaktifkan suatu instruksi baru? Bandingkan rangkaian tugas pendahuluan dengan rangkaian saat praktikum!
Jawab : Saat rangkaian berjalan normal, maka switch akan memberikan instruksi baru yang mengharuskan menghentikan operasi sebelumnya dan melakukan instruksi yang baru sampai ini sampai selesai. setelah instruksi baru ini selesai baru instruksi lama dilanjutkan kembali
2. Jelaskan proses diagram dari Interrupt!
Jawab :
Pada proses yang panah hitam, instruksi akan bekerja sebagaimana mestinya. namun pada titik B, instruksi interrupt muncul, maka instruksi sebelumnya harus dihentikan dan instruksi baru harus dilaksanakan. Dimana instruksi baru mengharuskan perintah ke D dan E. Setelah D dan E selesai maka perintah sebelumnya dapat diajalankan kembali.
8. Download File
[Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Demo Klik disini
Download Listing Program klik disini
Download Datasheet Arduino klik disini
Download Datasheet LCD klik disini
Download Datasheet Led klik disini
Tidak ada komentar:
Posting Komentar