1. Prosedur [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan sesuai kondisi
- Rangkaian
- Prinsip Kerja
Pada percobaan 1 kondisi 4 diminta untuk Ketika ADC antara 200 dan 600 dan 1 switch aktif, motor berputar ke kiri 8 detik lalu mati dan muncul karakter pada kolom 2 LCD.
Disini kita menggunakan motor dc untuk berputar selama 8 detik dengan memberikan perintah melalui arduino uno. Setelah itu arduino akan menampilkan karakter pada kolom 2 LCD. IC L293D yang kita gunakan merupakan salah satu IC untuk sebuah motor.
- Listing Program
#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 Switch : ");
Serial.println(activesw);
delay(200);
switch (activesw) {
case 0 :
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(ldr);
lcd.setCursor(0, 1);
lcd.print("The LDR Value");
delay(200);
break;
case 1 :
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Running The");
lcd.setCursor(2, 1);
lcd.print("Motor");
digitalWrite(front, HIGH);
digitalWrite(back, LOW);
delay(200);
break;
case 2 :
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LDR Value : ");
lcd.setCursor(13, 0);
lcd.print(ldr);
if (ldr >= 200 && ldr <= 600) {
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("turn Motor left");
digitalWrite(front, LOW);
digitalWrite(back, HIGH);
delay(8000); // Putar motor ke kiri selama 8 detik
digitalWrite(front, LOW);
digitalWrite(back, LOW); // Matikan motor
lcd.clear();
lcd.setCursor(1, 1);
lcd.print("K"); // Munculkan karakter "K" pada kolom 2 LCD
} else {
if (ldr < 550) {
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("turn Motor right");
digitalWrite(front, HIGH);
digitalWrite(back, LOW);
} else {
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("turn Motor left");
digitalWrite(front, LOW);
digitalWrite(back, HIGH);
}
}
break;
case 3 :
int pwm = map(ldr, 0, 1023, 0, 255);
digitalWrite(back, LOW);
analogWrite(front, pwm);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("PWM = ");
lcd.print(pwm);
lcd.setCursor(0, 1);
lcd.print(" Control ???");
delay(200);
break;
}
delay(10);
} else {
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("ELECTRONIC");
lcd.setCursor(0, 1);
lcd.print("&INSTRUMENTATION");
delay(100);
}
}
Ketika ADC antara 200 dan 600 dan 1 switch aktif, motor berputar ke kiri 8 detik lalu mati dan muncul karakter pada kolom 2 LCD
HTML klik disini
Simulasi klik disini
Gambar Simulasi klik disini
Video Simulasi klik disini
Listring Program klik disini
Video Simulasi klik disini
Listring Program klik disini
.png)
.png)
Tidak ada komentar:
Posting Komentar