LA 2
== Percobaan 6 ==



  1. Siapkan alat dan bahan yang akan digunakan pada saat praktikum seperti Arduino Uno, Dipswitch, Motor Stepper
  2. Rangkai sesuai gambar percobaan
  3. Rancang kerja rangkaian menggunakan flowchart
  4. Running rangkaian simulasi sesuai dengan kondisi pada saat praktikum


Blok Diagram



Arduino Uno


DIPSWITCH




Motor Stepper











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


Modul 2: Percobaan 6






Percobaan 6
1. Jenis Inputan Apa yang digunakan untuk menggerakkan Motor stepper
Jawab:
    Motor stepper menggunakan input digital yang menghasilkan step step yang digunakan untuk mengontrol sudut motor sesuai kondisi melalui bantuan motor driver. Pada arduino itu memakai input analog.
    Pada percobaan kali ini kita menggunakan 4 buah button untuk inputannya yang akan diproses di arduino dan untuk outputnya motor stepper

2. Pada percobaan untuk button 1 dan 2 tadi dibuat berputar dengan bervariasi ada yang 300, dan 360° , apa yang terjadi ketika kita membuat Perputaran nya menjadi 600? Apakah motor stepper tetap bisa berputar
Jawab:
    Bisa, namun perputaran tersebut juga memerlukan kecepatan yang tinggi serta konsumsi daya yang lebih besar. Untuk motor stepper ini tidak memiliki batasan, jadi untuk 600 derajat berarti dia melebihi 1 putaran penuh

3. Apa yang terjadi Apabila pada motor stepper kita tidak menggunakan IC ULN2003? apakah Motor nya masih bisa bergerak
Jawab:
    Motor tidak bisa bergerak, dikarenakan IC ULN2003 ini merupakan driver yang digunakan untuk mengontrol motor stepper. Jika tidak ada motor driver tersebut maka kurang akurat dalam penentuan derajat dan motor stepper juga lebih mudah rusak dikarenakan tidak ada pulsa-pulsa digital yang diubah menjadi steps untuk motor stepper itu sendiri



Rangkaian Proteus [Download]
Listing Program [Download]
Datasheets Komponen [Download]
Library [Download]
Video Demo [Download]