MODUL 2
PERCOBAAN 1 KONDISI 6
+ Rangkai semua komponen sesuai kondisi yang dipilih
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino di proteus
+ jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
+ Selesai
2. Hardware dan diagram blok
[Kembali]
1. Arduino Uno
2. Sensor LDR
3. Dip Switch
4. LCD
5. Logic state
7. Ground
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
→Gambar Rangkaian Setelah Disimulasikan
PRINSIP KERJA
Prinsip kerja dari rangkaian diatas yaitu untuk mengontrol sebuah motor DC menggunakan Arduino berdasarkan kondisi yang ditetapkan pada program, yang diukur melalui sensor LDR dan input dari dua saklar. Program dimulai dengan inisialisasi pin-pin yang terhubung ke sensor LDR, motor DC, saklar, dan LCD. Setelah itu, dalam loop utama, nilai sensor LDR dibaca secara terus-menerus. Jika kondisi saklar menunjukkan kedua saklar dalam posisi mati (LOW) dan nilai LDR di luar rentang tertentu, motor akan diaktifkan. Motor pertama-tama akan bergerak ke kanan selama beberapa detik (3 detik), kemudian berhenti sejenak, dan berputar ke kiri selama beberapa detik (4 detik). Tindakan ini disertai dengan menampilkan pesan pada LCD (bergerak). Jika kondisi saklar atau nilai LDR tidak memenuhi persyaratan yang ditetapkan, motor akan dimatikan dan tampilan LCD akan dibersihkan. Program akan terus berjalan dalam loop, terus memantau kondisi dan mengontrol motor sesuai keadaan lingkungan. Dengan simulasi di Proteus, prinsip kerja ini dapat diamati secara langsung, memungkinkan pengujian dan pengembangan lebih lanjut dari sistem kontrol motor menggunakan Arduino.
4. FlowChart
[Kembali]
#include <LiquidCrystal.h>
// Inisialisasi pin
const int LDR_PIN = A0;
const int MOTOR_EN_PIN = A1;
const int MOTOR_OUT1_PIN = A2;
const int MOTOR_OUT2_PIN = A3;
const int DIPSW_PIN[] = {2, 3}; // Gunakan hanya 2 pin untuk saklar
const int LCD_RS_PIN = 13;
const int LCD_EN_PIN = 12;
const int LCD_D4_PIN = 11;
const int LCD_D5_PIN = 10;
const int LCD_D6_PIN = 9;
const int LCD_D7_PIN = 8;
// Konfigurasi LCD
LiquidCrystal lcd(LCD_RS_PIN, LCD_EN_PIN, LCD_D4_PIN, LCD_D5_PIN, LCD_D6_PIN, LCD_D7_PIN);
void setup() {
// Inisialisasi pin mode
pinMode(LDR_PIN, INPUT);
pinMode(MOTOR_EN_PIN, OUTPUT);
pinMode(MOTOR_OUT1_PIN, OUTPUT);
pinMode(MOTOR_OUT2_PIN, OUTPUT);
for (int i = 0; i < 2; i++) { // Hanya 2 saklar
pinMode(DIPSW_PIN[i], INPUT_PULLUP);
}
// Inisialisasi LCD
lcd.begin(16, 2);
}
void loop() {
// Baca nilai LDR
int ldrValue = analogRead(LDR_PIN);
// Cek kondisi saklar dan LDR
if (digitalRead(DIPSW_PIN[0]) == LOW && digitalRead(DIPSW_PIN[1]) == LOW && (ldrValue < 200 || ldrValue > 600)) {
// Aktifkan motor berputar ke kanan selama 3 detik
digitalWrite(MOTOR_EN_PIN, HIGH);
digitalWrite(MOTOR_OUT1_PIN, HIGH);
digitalWrite(MOTOR_OUT2_PIN, LOW);
// Tampilkan karakter pada kolom 1 LCD
lcd.setCursor(0, 0);
lcd.print("bergerak");
delay(3000); // Motor bergerak ke kanan selama 3 detik
// Berhenti sejenak
digitalWrite(MOTOR_EN_PIN, LOW);
delay(1000); // Pause selama 1 detik
// Aktifkan motor berputar ke kiri selama 4 detik
digitalWrite(MOTOR_EN_PIN, HIGH);
digitalWrite(MOTOR_OUT1_PIN, LOW);
digitalWrite(MOTOR_OUT2_PIN, HIGH);
delay(4000); // Motor berputar ke kiri selama 4 detik
// Matikan motor dan bersihkan LCD setelah selesai
digitalWrite(MOTOR_EN_PIN, LOW);
lcd.clear();
} else {
// Matikan motor dan bersihkan LCD jika salah satu saklar dalam keadaan aktif atau kondisi LDR tidak memenuhi
digitalWrite(MOTOR_EN_PIN, LOW);
lcd.clear();
}
delay(100); // Delay untuk stabilitas
}
b. Flowchart
Kondisi →Percobaan 1 Kondisi 6
(Ketika ADC < 200 atau >600) dan tidak ada switch aktif, motor berputar ke kanan 3 detik lalu kiri 4 detik dan muncul karakter pada kolom 1 LCD, namun jika ada switch aktif maka motor tidak berputar
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet LDR klik disini
Download Datasheet LCD 2X16 klik disini
0 komentar:
Posting Komentar