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
Tidak ada komentar:
Posting Komentar