Laporan 1 Modul 2 - uP & uC
1. Prosedur [Kembali]
- Rangkai komponen sesuai percobaan dan yang dipilih.
- Buat program menggunakan Arduino IDE.
- Run program yang telah dibuat ke Arduino Uno.
- Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
- Proses selesai setelah uji coba berhasil dilakukan.
2. Hardware dan Diagram Blok [Kembali]
Prinsip kerja dari rangkaian ini adalah, ketika Arduino menerima inputan sinyal analog dari LDR dan sesuai dengan program, maka Arduino akan menangkapnya sebagai sebuah instruksi, yang mana akan meneruskan ke LCD. Lalu akan ditampilkan berupa tampilan angka nilai resistansi yang terbaca pada LDR. Juga motor akan bergerak sesuai dari program, akan bergerak ke arah kanan jika nilai sekian, dan begitu juga sebaliknya.
4. Flowchart dan Listing Program [Kembali]
Flowchart
Listing Program
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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); | |
} | |
} |
5. Kondisi [Kembali]
Modul 1 percobaan 1 praktikum uP uC
6. Video Demo [Kembali]
7. Link Download [Kembali]
Download HTML [Klik di sini]
Download file rangkaian [Klik di sini]
Download video rangkaian [Klik di sini]
Download program Arduino [Klik di sini]
Download datasheet Arduino [Klik di sini]
Download datasheet Motor DC [Klik di sini]
Download datasheet IR [Klik di sini]
Download datasheet LCD [Klik di sini]
Komentar
Posting Komentar