Tugas Pendahuluan 1 Modul 2
(Percobaan 1 Kondisi 1)
1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Hardware dan Diagram Blok
[Kembali]
Hardware :
1. LCD 12x6
2. I2C
3. Arduino Uno
4. Led
5. Buzzer
6. Dipswtich
7. Potensiometer
Block Diagram :
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Pada percobaan 1 ini, dimana komponen yang digunakan pada rangkaian terdiri dari Arduino Uno, LCD, motor, dipswitch, dan sensor LDR. Dipswitch berperan sebagai sebagai input dimana rangkaian dipswitch pada rangkaian ini adalah rangkaian pull-up, sedangkan LCD dan motor berperan sebagai output. Sensor LDR digunakan untuk mengatur nilai ADC nya. Ketika kedua dipswitch diaktifkan, output dari dipswitch dikirim ke Arduino dan diteruskan ke LCD dan motor. Sehingga motor akan berputar ke kanan dan pada kolom pertama LCD akan muncul karakter "berputar kekanan". Namun, jika salah satu atau kedua dipswitch tidak aktif, LCD tidak menampilkan karakter "tidak ada aksi" dan motor tidak hidup.
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; //Pin untuk mengontrol arah motor ke depan
int back = 5; //Pin untuk mengontrol arah motor ke belakang.
void setup() {
lcd.begin(16, 2); // Inisialisasi LCD dengan ukuran 16x2
pinMode(sw1, INPUT); // Mengatur sw1 sebagai input
for (int thesw = 0; thesw < numsw; thesw++) {
pinMode(sws[thesw], INPUT); // Mengatur sakelar lainnya sebagai input
}
pinMode(front, OUTPUT); // Mengatur front sebagai output untuk arah maju
pinMode(back, OUTPUT); // Mengatur back sebagai output untuk arah mundur
Serial.begin(9600);
}
void loop() {
int s1 = digitalRead(sw1); // Membaca nilai sakelar pertama
int ldr = analogRead(A0); // Membaca nilai LDR
if (s1 == HIGH) {
int activesw = 0;
for (int thesw = 0; thesw < numsw; thesw++) {
if (digitalRead(sws[thesw]) == HIGH) {
activesw++;
}
}
Serial.print("Number of Switches: ");
Serial.println(activesw);
delay(200);
if (ldr >500 && activesw == 2) { // Jika kondisi tertentu terpenuhi
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Motor berputar ke");
lcd.setCursor(0, 1);
lcd.print("kanan");
digitalWrite(front, HIGH); // Mengatur arah motor ke kanan
digitalWrite(back, LOW);
} else { // Kondisi lainnya
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ADC: ");
lcd.print(ldr); // Menampilkan nilai ADC pada LCD
lcd.setCursor(0, 1);
lcd.print("Tidak ada aksi");
digitalWrite(front, LOW); // Menghentikan motor
digitalWrite(back, LOW);
}
delay(10);
} else {
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("ELECTRONIC");
lcd.setCursor(0, 1);
lcd.print("&INSTRUMENTATION");
delay(100);
digitalWrite(front, LOW); // Menghentikan motor
digitalWrite(back, LOW);
}
}
Percobaan 1 Kondisi 1
Ketika ADC > 500 dan 2 switch aktif, motor berputar ke kanan dan muncul karakter pada kolom 1 LCD
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet LCD klik disini
Datasheet DIP Switch klik disini
Datasheet Sensor LDR klik disini
Datasheet Motor DC klik disini
Tidak ada komentar:
Posting Komentar