LA 1 MODUL 2 P2K7
MODUL 2
PERCOBAAN 2 KONDISI 7
1. Prosedur [Kembali]- Rangkai semua komponen sesuai kondisi yang dipilih
- buat program di aplikasi arduino IDE
- setelah selesai masukkan program ke arduino (Verify and Upload)
- jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
- Selesai
2. Hardware dan diagram blok [Kembali]
a. hardware
1. Arduino Uno
2. Dipswitch
3. LCD 16X2
4. Driver Motor L293D
2. Dipswitch
3. LCD 16X2
4. Driver Motor L293D
4. Buzzer
5. LED
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
A. Gambar Rangkaian
PRINSIP KERJA
Pada rangkaian tersebut, Motor berputar ke kanan 5 detik lalu mati 3 detik dan berputar ke kiri 5 detik dan mati 7 detik ,LCD menampilkan counting sesuai yang kita buat pada program (misal kita melakukan counting dari 50 sampai 0, jika interrupt counting diulang dari 50 dan motor DC berhenti 3 detik.
Pada rangkaian di atas dengan input dipswitch dengan output berupa led dan buzzer serta pada LCD 16X2 akan menampilkan counting pada saat rangakaian di run, LCD menampilkan counting dari 50-0 (sesuai dengan apa yang kita atur pada c dengan waktu delay yang cukup lama antara 50 ke 49 dan seterusnya jika saat di run tersebut kita tekan tombol pada dipswict maka counting yang ditampilkan di lcd akan menampilkan kembali counting mulai dari 50 lagi atau kembali ke awal akibat adanya interrupt dari tombol dipswicth yang kita tekan. Pada kondisi ini, dapat memudahkan kita jika ingin memberi perintah untuk menampilkan angka yang kita inginkan tanpa menunggu counting yang ditampilkan pada LCD selesai mengcounting dari 50 sampai 0
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]
PERCOBAAN 2 KONDISI 7 SESUAI DENGAN MODUL 2
8. Download File [Kembali]
Download HMTL Klik disini
Download Video Demo Simulasi Klik disini
Download Datasheet Arduino Uno klik disini
Download Datasheet Dipswicth klik disini
Download Datasheet LED klik disini
Download Datasheet Buzzer klik disini
Download Datasheet Driver Motor L293 klik disini
Tidak ada komentar:
Posting Komentar