Home / Tutorial Arduino / Tutorial Arduino : Kontrol motor servo dengan modul joystick

Tutorial Arduino : Kontrol motor servo dengan modul joystick

kelas-fisika.com – Tutorial Arduino : Kontrol motor servo dengan modul joystick

Dalam proyek ini, kelas-fisika akan berbagi tutorial arduino bagaimana dua motor servo dikontrol dengan menggunakan satu buah modul joystick. Ketika joystick bergerak ke arah horizontal, servo pertama akan bergerak ke kanan atau ke kiri. Ketika joystick dipindahkan ke arah vertikal, servo kedua akan bergerak ke kanan atau ke kiri.

Rangkaiannya seperti pada gambar di bawah ini

Bagian perangkat keras dari proyek ini sangat mudah dibuat. Pertama, sambungkan modul joystick dengan Arduino. Koneksi untuk modul joystick dan Arduino adalah sebagai berikut:

  • Hubungkan VCC pada modul joystick dengan pin 5V pada Arduino
  • Hubungkan pin GND pada modul joystick dengan GND pada Arduino
  • Hubungkan pin VRx pada modul joystick dengan A0 pada Arduino
  • Hubungkan pin VRy pada modul joystick dengan A1 pada Arduino

Setelah itu, hubungkan motor servo dengan Arduino. Koneksi untuk motor servo dengan Arduino adalah sebagai berikut:

  • Hubungkan kabel Coklat pada kedua motor servo dengan GND pada Arduino
  • Hubungkan kabel merah pada kedua motor servo dengan pin 5V pada Arduino
  • Hubungkan kabel kuning pada motor pertama dengan pin 8 pada Arduino
  • Hubungkan kabel kuning pada motor kedua dengan pin 9 pada Arduino

Bagaimana cara kerjanya?

Ketika modul joystick digerakan horizontal atau dalam arah vertikal, itu memberi kita nilai dari 0 hingga 1023. Jadi kita dapat menerapkan kondisi dalam kode yang jika nilainya kurang dari 100 atau lebih besar dari 800, maka servos akan bergerak .

Ketika joystick dipindahkan ke arah horizontal, servo pertama akan bergerak ke kanan atau kiri dan setelah menggerakkan joystick ke arah vertikal, servo kedua akan bergerak ke arah kanan atau kiri.

Kode Program

masukan kode ini ke mikrokontroler arduinonya

#include <Servo.h>

Servo servo1;
Servo servo2;
int x_key = A1; 
int y_key = A0; 
int x_pos;
int y_pos;
int servo1_pin = 8;
int servo2_pin = 9; 
int initial_position1 = 0; 
int initial_position2 = 0;

void setup ( ) {
Serial.begin (9600) ;
servo1.attach (servo1_pin ) ; 
servo2.attach (servo2_pin ) ; 
servo1.write (initial_position1);
servo2.write (initial_position2);
pinMode (x_key, INPUT) ; 
pinMode (y_key, INPUT) ; 
}

void loop ( ) {
x_pos = analogRead (x_key) ; 
y_pos = analogRead (y_key) ;


if (x_pos < 100){
if (initial_position1 < 10) { } 
else{ initial_position1 = initial_position1 - 10; 
servo1.write ( initial_position1 ) ; 
Serial.print("X:");
Serial.print(x_pos);
Serial.print(","); 
Serial.print("initial_position1:");
Serial.print(initial_position1);
Serial.print("\n");
delay (50) ; } } 
if (x_pos > 800){
if (initial_position1 > 180)
{ 
} 
else{
initial_position1 = initial_position1 + 10;
servo1.write ( initial_position1 ) ;
Serial.print("X:");
Serial.print(x_pos);
Serial.print(","); 
Serial.print("initial_position1:");
Serial.print(initial_position1);
Serial.print("\n");
delay (50) ;
}
}

if (y_pos < 100){
if (initial_position2 < 10) { } 
else{ initial_position2 = initial_position2 - 10; 
servo2.write ( initial_position2 ) ;
Serial.print("Y:");
Serial.print(y_pos);
Serial.print(","); 
Serial.print("initial_position2:");
Serial.print(initial_position2);
Serial.print("\n");
delay (50) ; } } 
if (y_pos > 800){
if (initial_position2 > 180)
{ 
} 
else{
initial_position2 = initial_position2 + 10;
servo2.write ( initial_position2 ) ;
Serial.print("Y:");
Serial.print(y_pos); 
Serial.print(",");
Serial.print("initial_position2:");
Serial.print(initial_position2);
Serial.print("\n");
delay (50) ;
}
}
}

Selesai, Silahkan Cek.

Semoga Berhasil.. anda bisa kembangkan ini dengan membuat Beko atau sejenisnya.

About kelas-fisika

Check Also

Modul Microphone Mic MAX9841

kelas-fisika.com – Modul Microphone Mic MAX9841 Modul amplifier mikrofon mewah ini adalah  built in gain control …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by themekiller.com