Tugas Pendahuluan 1 : Modul II Percobaan 2 Kondisi 7
*Klik teks untuk menuju
1. Prosedur [Kembali]
Langkah-langkah percobaan :
1. Siapkan alat dan bahan yaitu dengan komponen utama Arduino Uno, Switch, LCD
2. Rangkai sesuai gambar percobaan
3. Rancang kerja rangkaian sesuai flowchat
4. Tekan tombol “Play” untuk menjalankan simulasi
2. Hardaware dan Diagram Blok [Kembali]
- Arduino
- LCD
- Driver Motor L293D
- Motor DC
- Dipswitch
- Sensor LDR
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Prinsip Kerja
Sensor LDR meberikan input berupa sinyal analog yang diubah menjadi nilai ADC oleh Arduino. Sebelum itu pada kondisi semua switch mati maka akan tampil tulisan "ELectronics Instrumentation".
Saat switch 4 dinyalakan maka fungsi dari rangkaian akan aktif dan pada tampilan LCD akan menghitung nilai ADC yang terdeteksi dari sensor LDR. Sesuai dengan kondisi pada percobaan dan diatur pada Program maka,
Ketika nilai ADC< 200, dengan konidisi 2 switch aktif maka akan mengaktifkan motor dan membuatnya bergerak ke arah kanan juga memunculkan tulisan kanan pada LCD
Ketika nilai ADC> 600, dengan kondsi semua switch aktif maka akan menggerakkan motor ke arah kiri dan menampikna tulisa kiri pada LCD
Diluar dari kondisi itu maka motor tidak akan bergerak dan pada LCD tertulis tidak ada aksi
4. Flowchart dan listing Program [Kembali]
Flowchart :
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int sw1 = 2;
int sws[] = {3, 4, 7};
int numsw = 3;
int front = 6;
int back = 5;
void setup() {
lcd.begin(16, 2);
pinMode(sw1, INPUT);
for (int thesw = 0; thesw < numsw; thesw++) {
pinMode(sws[thesw], INPUT);
}
pinMode(front, OUTPUT);
pinMode(back, OUTPUT);
Serial.begin(9600);
}
void loop() {
int s1 = digitalRead(sw1);
int ldr = analogRead(A0);
if (s1 == HIGH) {
int activesw = 0;
for (int thesw = 0; thesw < numsw; thesw++) {
if (digitalRead(sws[thesw]) == HIGH) {
activesw++;
}
}
Serial.print("Number of Switches: ");
Serial.println(activesw);
delay(200);
if (ldr < 200 && activesw == 2) { // Kondisi 1
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Motor berputar ke");
lcd.setCursor(0, 1);
lcd.print("kanan");
digitalWrite(front, HIGH); // Arah maju
digitalWrite(back, LOW);
} else if (ldr > 600 && activesw == 3) { // Kondisi 2
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Motor berputar ke");
lcd.setCursor(0, 1 );
lcd.print("kiri");
digitalWrite(front, LOW); // Arah mundur
digitalWrite(back, HIGH);
} else { // Kondisi lainnya
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ADC: ");
lcd.print(ldr); // Menampilkan nilai ADC pada LCD
lcd.setCursor(0, 1);
lcd.print("Tidak ada aksi");
}
delay(10);
} else {
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("ELECTRONIC");
lcd.setCursor(0, 1);
lcd.print("&INSTRUMENTATION");
delay(100);
}
}
5. Kondisi [Kembali]
Ketika ADC < 200 dan 2 switch aktif, motor berputar ke kanan dan muncul karakter pada kolom 1 LCD, Ketika ADC > 600 dan semua switch aktif, motor berputar ke kiri dan muncul karakter pada kolom 2 LCD
6. Video Simulasi [Kembali]
7. Download File [Kembali]
HTML Disini
Simulasi Disini
Gambar Hardware Disini
Video Simulasi Disini
Listing Program Disini
Tidak ada komentar:
Posting Komentar