A. TUJUAN
1. Memahami dasar-dasar kerja motor stepper.
2. Mampu membuat program pada arduino untuk menjalankan motor stepper.
B. DASAR TEORI
Pada percobaan ini menggunakan Arduino dan Motor stepper dimana Arduino
sebagai mikrokontroler dan motor stepper sebagai output.
Motor Stepper
Step S3 S2 S1 S0
1 0 0 0 1
2 0 0 1 0
3 0 1 0 0
4 1 0 0 0
1 0 0 0 1
Tabel 2. Motor Stepper dengan Gerakan Half Step
Step S3 S2 S1 S0
1 0 0 0 1
2 0 0 1 1
3 0 1 0 0
4 0 1 1 0
5 0 1 0 0
6 1 1 0 0
7 1 0 0 0
8 1 0 0 1
1 0 0 0 1
D. LANGKAH PERCOBAAN
1. Susunlah rangkaian berikut ini
Gambar 1
Karena pada percobaan ini kita tidak menggunakan breadboard, maka
breadboard pada gambar 1 dapat dihilangkan karena hanya sebagai penghubung
antara stepper motor dan Arduino Nano
2. Sambungkan Arduino pada laptop/PC
3. Bukalah aplikasi Arduino IDE pada laptop/PC yang telah disambungkan di
Arduino pada langkah 2
4. Buatlah beberapa case dibawah ini:
Case 1 : menjalankan example code yang sudah tersedia di aplikasi
Arduino IDE dan melihat apa yang terjadi pada stepper motor.
Case 2 : membuat program stepper motor berputar 3600
Case 3 : membuat program stepper motor berputar 3600 ke kanan 8 kali
dan berputar 3600 ke kiri 8 kali
Contoh program :
#include <Stepper.h>
int in1=8;
int in2=9;
int in3=10;
int in4=11;
void setup()
{
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
}
void loop()
{
digitalWrite(in4,HIGH);digitalWrite(in3,LOW);digitalWrite(in2,LOW);
digitalWrite(in1,LOW);
delay(500);
digitalWrite(in4,HIGH);digitalWrite(in3,HIGH);digitalWrite(in2,LOW);
digitalWrite(in1,LOW);
delay(500);
digitalWrite(in4,LOW);digitalWrite(in3,HIGH);digitalWrite(in2,LOW);
digitalWrite(in1,LOW);
delay(500);
digitalWrite(in4,LOW);digitalWrite(in3,HIGH);digitalWrite (in2,HIGH);
digitalWrite(in1,LOW);
delay(500);
digitalWrite(in4,LOW);digitalWrite(in3,LOW);digitalWrite(in2,HIGH);
digitalWrite(in1,LOW);
delay(500);
digitalWrite(in4,LOW);digitalWrite(in3,LOW);digitalWrite(in2,HIGH);
digitalWrite(in1,HIGH);
delay(500);
digitalWrite(in4,LOW);digitalWrite(in3,LOW);digitalWrite(in2,LOW);
digitalWrite(in1,HIGH);
delay(500);
digitalWrite(in4,HIGH);digitalWrite(in3,LOW);digitalWrite(in2,LOW);
digitalWrite(in1,HIGH);
delay(500);