Percobaan 6 Kondisi 2
Sertakan dengan Button, ketika button berlogika 1 maka motor berlawanan arah jarum jam dan ketika button berlogika 0 maka motor searah jarum jam dan dapat divariasikan arah motor dengan button
1.Prosedur
Langkah-langkah percobaan :
- Rangkailah semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai, masukkan program ke arduino
- Jalankan program pada simulasi dan lakukan sesuai kondisi
3. Rangkaian Simulasi dan Prinsip Kerja
Prinsip Kerja
jadi pada percobaan ini menggunakan button sebagai input, ketika butten ditekan maka button akan berlogika 1 maka motor stepper akan berputar berlawanan arah jarum jam dan menampilkan angka 1 pada 7segmen. namun ketika button berlogika 0 maka motor stepper akan berputar searah jarum jam dan menampilkan angka 0 pada 7segmen.
A. Flowchart
B. Listing Program
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
int step = 100;
int delaytime=5; //makin kecil delay, makin cepat motor berputar
void setup(){
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
}
void loop(){
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
if (b4 == HIGH){
maju();
}
else if (b3 == HIGH){
mundur();
}
else if (b2 == HIGH){
for (int i = 0; i < 60; i ++){
maju();
}
for (int i = 0; i < 60; i++){
mundur();
}
}
else if (b1 == HIGH){
for (int i = 0; i < 50; i++){
maju();
}
delay(2000);
for (int i = 0; i < 50; i++){
mundur();
}
}
}
void maju(){
//step 4
step1();
delay(delaytime);
//step 3
step2();
delay(delaytime);
//step 2
step3();
delay(delaytime);
//step 1
step4();
delay(delaytime);
}
void mundur(){
//step 4
step4();
delay(delaytime);
//step 3
step3();
delay(delaytime);
//step 2
step2();
delay(delaytime);
//step 1
step1();
delay(delaytime);
}
void step1(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,HIGH);
}
void step2(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void step3(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void step4(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
Sertakan dengan Button dan 7-Segment, ketika button bernilai 1 dan 0 maka motor akan berputar baik itu berlawanan arah jarum jam ataupun sebaliknya.
Tidak ada komentar:
Posting Komentar