Tugas Pendahuluan 1 Modul II
Percobaan I
Sensor LDR dengan LCD
1. Foto Hardware dan Diagram Blok [Kembali]
4. DIP Switch
5. L293D
6. Motor DC
7. Potensiomotor
Diagram Blok:
2. Prosedur Percobaan [Kembali]
+ Rangkai semua komponen
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino
+ jalankan program pada simulasi dan cobakan dengan modul
Prinsip Kerja
Pada percobaan kali ini kita menggunakan beberapa komponen yaitu Arduino Uno, Sensor LDR, motor DC, LCD, DIP Switch, Driver L293D, Potensiometer, Baterai, Resistor, Power Supply, dan Ground.
Pada percobaan kali ini kita menggunakan sensor LDR dan DIP Switch sebagai input, kemudian motor DC dan LCD sebagai output. Sensor LDR disini akan berperan sebagai input analog yang terhubung ke pin A0 dari Arduino yang mana pada pin tersebut terdapat ADC(Analog Digital Converter) yang mana akan membaca nilai input analog dari sensor LDR dan DIP Switch sebagai input digital. Kemudian motor DC akan dihubungkan ke motor driver dan baterai untuk dapat mengatur laju dan arah berputar dari motor DC, terakhir terdapat LCD yang akan menampilkan dari kondisi yang sedang berjalan.
Kemudian kita dapat melihat kondisi yang dipilih pada percobaan kali ini yaitu nilai dari ADC yaitu >500 dari sensor LDR dan 2 switch ON dari DIP Switch yang akan menghasilkan kondisi dimana motor DC yang terhubung pada motor driver akan berputar kekiri dan LCD akan menampilkan nilai ADC LDR pada kolom pertama dan karakter "motor kekiri".
Komponen lainnya yaitu Potensiometer yang berfungsi untuk mengatur kontras layar LCD, resistor berfungsi untuk membatasi arus pada rangkaian agar dapat berjalan dengan baik.
4. Flowchart dan Listing Program [Kembali]
Listing Program:
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int sw1 = 2;
int sws[]={2,3,4,5};
int numsw = 3;
int front = A1;
int back = A2;
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("Jumlah 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("Nilai LDR");
delay(200);
break;
case 1 :
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Jalankan");
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("Nilai LDR : ");
lcd.setCursor(13,0);
lcd.print(ldr);
if(ldr < 550){
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Motor Kekanan");
digitalWrite(front,LOW);
digitalWrite(back,HIGH);
}
else{
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Motor Kekiri");
digitalWrite(front,HIGH);
digitalWrite(back,LOW);
}
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(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
delay(100);
}
}
Pada kondisi 2 dari percobaan 1, Ketika ADC > 500 dan 2 switch aktif, maka motor berputar ke kiri dan muncul karakter pada kolom 2 LCD
᭒ HTML↠ klik disini
᭒ Rangkaian↠ klik disini
᭒ Video Percobaan↠ klik disini
᭒ Program↠ klik disini
᭒ Datasheet Arduino↠ klik disini
᭒ Datasheet Potensiometer↠ klik disini
᭒ Datasheet LCD↠ klik disini
᭒ Datasheet DIP Switch↠ klik disini
᭒ Datasheet L293D↠ klik disini
᭒ Datasheet Sensor LDR↠ klik disini
᭒ Datasheet Motor DC↠ klik disini














0 Response to "Tugas Pendahuluan 1 Modul II"
Posting Komentar