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
Dagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi
Prinsip Kerja
terdapat 2 jenis input yang digunakan yaitu sensor infrared dan push button, sedangkat output berupa putaran motor stepper yang dikendalikan dengan bantuan ic ULN2003A. apabila sensor Infrare berlogika High, maka motor stepper akan berputar searah berlawanan arah jarum jam, Namun apabila sensor Infrared berlogika Low maka motor stepper akan berputar searah jarum jam.
4. Flowchart dan Listing Program [Kembali]
Flowchart
Listing Program
#define A 8
#define B 9
#define C 10
#define D 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
#define IR_SENSOR_PIN 6 // Pin yang terhubung ke sensor IR
void setup() {
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(PB1, INPUT_PULLUP);
pinMode(PB2, INPUT_PULLUP);
pinMode(PB3, INPUT_PULLUP);
pinMode(PB4, INPUT_PULLUP);
pinMode(IR_SENSOR_PIN, INPUT); // Inisialisasi pin sensor IR sebagai input
}
void pergerakan_1() {
digitalWrite(A, 0);
digitalWrite(D, 1);
digitalWrite(B, 0);
digitalWrite(C, 1);
}
void pergerakan_2() {
digitalWrite(A, 1);
digitalWrite(D, 1);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void pergerakan_3() {
digitalWrite(A, 1);
digitalWrite(D, 0);
digitalWrite(B, 1);
digitalWrite(C, 0);
}
void pergerakan_4() {
digitalWrite(A, 0);
digitalWrite(D, 0);
digitalWrite(B, 1);
digitalWrite(C, 1);
}
void nonpergerakan() {
digitalWrite(A, 0);
digitalWrite(D, 0);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void loop() {
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
int ir_sensor = digitalRead(IR_SENSOR_PIN); // Baca input dari sensor IR
if (ir_sensor == HIGH) { // Jika sensor IR aktif
if (b4 == LOW) {
pergerakan_1(); // Motor bergerak berlawanan arah jarum jam
} else if (b3 == LOW) {
pergerakan_2();
} else if (b2 == LOW) {
pergerakan_3();
} else if (b1 == LOW) {
pergerakan_4();
} else {
nonpergerakan();
}
} else if(ir_sensor == LOW){ // Jika sensor IR tidak aktif
if (b4 == LOW) {
pergerakan_4(); // Motor bergerak sesuai arah jarum jam
} else if (b3 == LOW) {
pergerakan_3();
} else if (b2 == LOW) {
pergerakan_2();
} else if (b1 == LOW) {
pergerakan_1();
} else {
nonpergerakan();
}
}
}
Percobaan 6 kondisi 3
Sertakan dengan IR sensor, ketika berlogika HIGH putaran motor berlawanan arah jarum jam
6. Video Simulasi [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet Arduino uno klik disini
Download Datasheet IR klik disini
Download Datasheet Motor Stepper klik disini
Tidak ada komentar: