Tutorial Arduino UNO R3 Mengatur Gerak 2 Servo Menggunakan Joystick


Hallo Sahabat Indobot… kali ini kita masih membahas tentang pengendalian motor servo. Pastinya tutorial kali ini sangat menarik karena kita akan mengendalikan 2 sekaligus servo menggunakan Modul Joystick.  jika membahas Joystik Pasti sahabat indobot familiarnya hanya tentang game kan? Kali ini kita akan coba mengaplikasikannya pada pembelajaran Arduino. Yuk langsung saja simak tutorialnya dibawah ini:


1.Alat dan Bahan

Pertama Sahabat Indobot Siapkan alat dan Bahannya :

  1. Komputer yang terinstal Arduino IDE          1 unit
  2. Motor Servo                                                       2 buah
  3. Joystik Biaxial                                                     1 buah
  4. Kabel Penghubung                                         Secukupnya

2.Gambar Rangkaian

Tahap kedua, silahkan Sahabat Indobot buat rangkain seperti gambar dibawah ini :

3.programming

Tahap Terakhir, Sahabat indobot silahkan ketikkan Program di bawah ini pada Arduino IDE masing-masing :

#include <servo.h>

Servo servo_X;

Servo servo_Y;

int X_angleValue = 0;

int Y_angleValue = 0;

int X_axis = A0;

int Y_axis = A1;

int Z_axis = 2;

int x = 0;

int y = 0;

int z = 0;

int pos = 0;

int check1 = 0;

int check2 = 0;

int threshold = 10;

void setup()

{

Serial.begin(9600);

servo_X.attach(7);

servo_Y.attach(6);

pinMode(X_axis, INPUT);

pinMode(Y_axis, INPUT);

pinMode(Z_axis, INPUT);

digitalWrite(Z_axis, HIGH);

}

void loop()

{

x = analogRead(X_axis);

y = analogRead(Y_axis);

z = digitalRead(Z_axis);

if(z == LOW)

{

Serial.print("Z axis status = ");

Serial.println("Button Pressed");

Serial.println("Sweeping servo actuators");

for (pos = 0; pos <= 180; pos += 1)

{

servo_X.write(pos);

delay(10);

}

for (pos = 180; pos >= 0; pos -= 1)

{

servo_X.write(pos);

delay(15);

}

for (pos = 0; pos <= 180; pos += 1)

{

servo_Y.write(pos);

delay(10);

}

for (pos = 180; pos >= 0; pos -= 1)

{

servo_Y.write(pos);

delay(15);

}

Serial.println("Done!!!");

}

if(x > check1 + threshold || x < check1 - threshold)

{

X_angleValue = map(x, 0, 1023, 0, 180);

servo_X.write(X_angleValue);

check1 = x;

Serial.print("X axis voltage level = ");

Serial.println(x);

Serial.print("X axis servo motor angle = ");

Serial.print(X_angleValue);

Serial.println(" degree");

Serial.println("------------------------------------------");

}

if(y > check2 + threshold || y < check2 - threshold)

{

Y_angleValue = map(y, 0, 1023, 0, 180);

servo_Y.write(Y_angleValue);

check2 = y;

Serial.print("Y axis voltage level = ");

Serial.println(y);

Serial.print("Y axis servo motor angle = ");

Serial.print(Y_angleValue);

Serial.println(" degree");

Serial.println("------------------------------------------");

}

}

 

Setelah Sahabat Indobot selesai Mengetik Program diatas, hubungkan Board arduino dengan Komputer menggunakan USB Arduino kemudian upload program ke Board Arduino. Pastikan proses upload selesai dan berhasil. Jika belum berhasil silahakan periksa kembali rangkaian dan program anda.

Setelah Program Selesai di Upload, putar joystik pada arah tertentu dan lihatlah respon dari Motor Servo.

Sampai disini dulu tutorial Arduino UNO kali ini ya sahabat Indobot. Kalian bisa kembangkan program diatas sesuai keinginan kalian. Tetaplah belajar dan Sampai ketemu di tutorial selanjutnya….


Like it? Share with your friends!

0

0 Comments

Alamat email Anda tidak akan dipublikasikan.