Rabu, 20 Maret 2024


LA 2 MODUL 2 P1



MODUL 2
PERCOBAAN 1
1. Prosedur
 [Kembali]
  1.  Rangkai semua komponen sesuai kondisi yang dipilih
  2.  buat program di aplikasi arduino IDE
  3.  setelah selesai masukkan program ke arduino (Verify and Upload)
  4.  jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
  5.  Selesai
2. Hardware dan diagram blok [Kembali]
      a. hardware
                                                                
1.  LCD 2X16
2. Arduino Uno
3. Sensor LDR
4. Dipswitch
5. Driver Motor L293D
6. Motor DC

            b. Digram Blok


3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

A. Gambar Rangkaian


                
PRINSIP KERJA
Pada percobaan ini, bertujuan untuk mengontrol motor menggunakan Arduino Uno dengan menggunakan input dari sensor LDR dan switch. Arduino pertama-tama melakukan inisialisasi pin yang terhubung ke  LCD, sensor LDR, switch, dan motor. Setelah inisialisasi, program memasuki loop utama yang terus berjalan selama Arduino aktif.

Dalam loop utama, Arduino terus memeriksa status switch utama. Jika switch utama ditekan (berada dalam keadaan HIGH), Arduino membaca nilai dari sensor LDR untuk mengetahui intensitas cahaya lingkungan. Selanjutnya, Arduino memeriksa status dari switch tambahan untuk menentukan jumlah switch yang aktif.

Berdasarkan kombinasi nilai LDR dan jumlah switch aktif, Arduino memutuskan tindakan apa yang harus diambil. Misalnya, jika hanya satu switch aktif, Arduino menggerakkan motor ke arah tertentu dan menampilkan pesan di LCD. Jika dua switch aktif, motor akan berputar ke kiri atau kanan tergantung pada nilai LDR. Dan jika tiga switch aktif, Arduino mengubah nilai LDR menjadi sinyal PWM untuk mengatur kecepatan motor.

Jika switch utama tidak ditekan, Arduino menampilkan pesan "ELECTRONIC & INSTRUMENTATION" di LCD, menandakan bahwa sistem dalam mode standby.

Nilai PWM yang dihasilkan berdasarkan nilai LDR, mengontrol kecepatan putaran motor. Perubahan nilai LDR mempengaruhi nilai PWM, dan akibatnya, kecepatan putaran motor berubah. Jika nilai LDR berada dalam rentang tertentu (misalnya, 200-600), motor akan berputar ke kiri selama 8 detik. Jika nilai LDR di atas 600, motor akan berputar ke kiri atau kanan berdasarkan nilai LDR, sementara jika nilai LDR di bawah 550, motor akan berputar ke kanan.

4. FlowChart [Kembali]

a. 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() {
 // put your setup code here, to run once:
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() {
 // put your main code here, to run repeatedly:
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 < 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);
}
}

b. Flowchart


5. Video Demo [Kembali]


6. Kondisi [Kembali]

PERCOBAAN 1 SESUAI DENGAN MODUL 2

8. Download File [Kembali]

Download HMTL Klik disini
Download Video Demo Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet LCD 2X16 klik disini
Download Datasheet Sensor LDR klik disini
Download Datasheet Dipswitch klik disini
Download Datasheet Motor DC klik disini
Download Datasheet Driver Motor L293D klik disini















Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

Modul 4 [menuju akhir] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...