Laporan Akhir 1 M2
*Klik teks untuk menuju
1. Prosedur [Kembali]
Langkah-langkah percobaan :
1. Siapkan alat dan bahan yaitu dengan komponen utama Arduino Uno, Infrared Sensor, IC I2C, Keypad dan Motor DC
2. Rangkai sesuai gambar percobaan
3. Rancang kerja rangkaian sesuai flowchat
4. Tekan tombol “Play” untuk menjalankan simulasi
2. Hardaware dan Diagram Blok [Kembali]
- Infrared sensor
- Arduino
- LCD
- Keypad
- Motor DC
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Prinsip Kerja
Cara kerja dari rangkaian yaitu untuk mengaktifkan rangkaian maka SWITCH 1 harus diaktifkan agar arduino dapat mengirim dan menerima Inputan. lalu pada LCD akan memunculkan tampilan nilai ADC dari Sensor LDR yang bergantung dari intensitas yang ditangkapnya. saat slah satu switch diaktifkan maka motor akan berjalan dan pada LCD muncul, "Running the Program". Saat 2 switch diaktifkan maka pengontrolan motor dapat dilakukan dengan memperhatikan dan mengubah nilai ADC nya. Ketika ADC yang terbaca dibawah 256 maka motor berjalan kearah kanan, ketika diantara 256-760 maka motor akan berhenti berputar dan jika diatas dari 760 maka motor akan bergerak kearah Kanan. Pada LCD akan memunculkan tiap tiap kondisi arah putaran motor, Kiri kanan dan tidak ada aksi.
Selanjut ketika semua switch aktif maka motor akan daapt dikontrol dengan nilai PWM nya, mengatur nilai PWM motor bergantung dari intensitas Cahaya yang diterima oleh LDR, semakin tinggi intensitas cahaya motor bergerak semakin kencang.
Selanjut ketika semua switch aktif maka motor akan daapt dikontrol dengan nilai PWM nya, mengatur nilai PWM motor bergantung dari intensitas Cahaya yang diterima oleh LDR, semakin tinggi intensitas cahaya motor bergerak semakin kencang.
4. Flowchart dan listing Program [Kembali]
Flowchart :
//Percobaan 1
#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);
}
}
Tidak ada komentar:
Posting Komentar