Laporan Akhir M2 P1K1




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]
2.1 Hardware




2.1.1 Alat
1. BreadBoard

2.1.2 Bahan
1. Arduino
2. Dipswitch_4
3. Jumper
4. Motor DC
5. Fan
6. Battery
7. Potensiometer
8. LCD
9. Driver

B. Diagram Blok




 

3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
3.1 Gambar Rangkaian





3.2 Prinsip Kerja
    Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino. outputnya yaitu LCD dan Fan Motor DC. 
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE dimasukkan ke arduino pada proteus. Dimana kodingan arduino diatur untuk dapat menampilkan huruf pada LCD, Menghidupkan Fan dan, PWM sesuai dengan Kondisi yang diperlukan. Maksudnya, ketika tidak ada Switch yang diaktifkan maka LCD akan menampilkan Value suhu, ketika satu switch pada dipswitch di-on kan, maka LCD akan menampilkan Value suhu dan Fan akan berputar, ketika dua switch diaktifkan dan ADC diatas 550 maka Fan akan aktif ke arah Kanan sedangkan dibawah 550 ke arah kiri. Ketika semua switch diaktifkan maka nilai PWM akan ditampilkan pada LCD yang akan mempengaruhi kecepatan motor.
 
4. FlowChart [Kembali]
4.1 Listing Program 
#include 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); } }
4.2 Flowchart






5. Video Demo [Kembali]




6. Kondisi [Kembali]
Percobaan 1 sesuai dengan modul 2

7. Link Download [Kembali]

No comments:

Post a Comment