Percobaan VI
Kontrol Putaran Motor Stepper
1. Prosedur [Kembali]
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing program
- Upload program ke arduino
- Tekan PushButton dan amati keluarannya pada Motor Stepper
2. Hardware dan Diagram Blok [Kembali]
Gambar 1. Rangkaian Hardware
1. Arduino Uno
2. Push Buton
3. Motor Stepper
4. Modul ULN2003A
4. Kabel jumper
Pada percobaan 6 ini menggunakan push button yang bekerja pulldown sebagai input, sedangkan untuk output menggunakan motor stepper. Ketika push button dengan kondisi tertentu di tekan dengan dibantu menggunakan modul ULN2003A maka pada motor stepper akan bergerak dengan pergerakan step dan arah tertentu maju atau mundur sebanyak step yang di setting sesuai dengan setting nilai input yang digunakan pada program arduino tersebut.
4. Flowchart dan Listing Program [Kembali]
Flowchart:
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);
}
Ketika push button dengan kondisi tertentu di tekan dengan dibantu menggunakan modul ULN2003A maka pada motor stepper akan bergerak dengan pergerakan step dan arah tertentu maju atau mundur sebanyak step yang di setting sesuai dengan setting nilai input yang digunakan pada program arduino tersebut.
᭒ HTML↠ klik disini
᭒ Gambar Rangkaian ↠ klik disini
᭒ Video Demo ↠ klik disini
᭒ Listing Program ↠ klik disini
᭒ Video Demo ↠ klik disini
᭒ Listing Program ↠ klik disini
᭒ Datasheet Arduino ↠ klik disini
᭒ Datasheets Motor Stepper ↠ klik disini
᭒ Datasheets Push Button ↠ klik disini
᭒ Datasheest ULN2003A ↠ klik disini
᭒ Datasheets Motor Stepper ↠ klik disini
᭒ Datasheets Push Button ↠ klik disini
᭒ Datasheest ULN2003A ↠ klik disini
Tidak ada komentar:
Posting Komentar