Laporan Akhir 2


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

    5. Breadboard


   


Diagram Blok:









        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);
}

5. Kondisi [Kembali]

    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
᭒ Datasheet Arduino ↠ klik disini
᭒ Datasheets Motor Stepper ↠ klik disini
᭒ Datasheets Push Button ↠ klik disini
᭒ Datasheest ULN2003A ↠ klik disini
















Tidak ada komentar:

Posting Komentar

Unggulan

Aplikasi Encoder Decoder

APLIKASI ROLLING TOKO OTOMATIS [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...