Laporan Akhir 1 Modul 2
Percobaan 1
1. Rangkai rangkaian sesuai dengan modul praktikum.
2. Tulis program untuk arduino di software Arduino IDE.
2. Tulis program untuk arduino di software Arduino IDE.
3. Sambungkan arduino dengan laptop
4. Upload program tadi ke arduino
5. Setelah program selesai di upload, jalankan simulasi rangkaian
4. Upload program tadi ke arduino
5. Setelah program selesai di upload, jalankan simulasi rangkaian
6. Periksa apakah rangkaian sensuai dengan yang diharapkan, jika tidak, perbaiki rangkaian dan/atau program yang terkait
2. Hardware dan Diagram Blok
[Kembali]
Hardware :
Diagram Blok:
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Rangkaian di atas adalah rangkaian percobaan 1 Sensor LDR dan LCD. Pada tahap awal, program melakukan inisialisasi perangkat
keras seperti layar LCD dan pin-pin yang akan digunakan untuk input dan output.
Selanjutnya, dalam loop utama, program membaca status dari saklar utama sw1
dan nilai sensor LDR. Jika saklar utama sw1 dalam posisi HIGH (ditekan),
program akan menghitung jumlah saklar tambahan yang aktif dan menampilkan
informasi jumlahnya melalui Serial Monitor. Berdasarkan jumlah saklar tambahan
yang aktif, program akan menampilkan informasi yang sesuai pada layar LCD dan
melakukan aksi yang sesuai, seperti menampilkan nilai sensor LDR, menggerakkan
motor ke depan atau belakang, atau mengatur kecepatan motor menggunakan PWM.
Jika saklar utama sw1 dalam posisi LOW (tidak ditekan), program akan
menampilkan pesan "ELECTRONIC & INSTRUMENTATION" pada layar LCD.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
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);
}
}
Percobaan 1
Sensor LDR dengan LCD
Sensor LDR dengan LCD
6. Video Demo [Kembali]
7. Download File
[Kembali]
HTML klik disini
Video Demo klik disini
Listing 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 Motor DC klik disini
Datasheet PCF8574 klik disini