Cara Membuat Lengan Robot 2 Sumbu dengan Joystick Arduino — Simulasi Online

Lengan robot dua sumbu ini digerakkan satu joystick: sumbu tegak joystick (A0) menggerakkan servo D9 untuk naik-turun, sumbu mendatar (A1) menggerakkan servo D10 untuk kiri-kanan. Dayanya dibagi rapi lewat rel breadboard.

Board: Arduino Uno3 komponen

Komponen yang dipakai

  • Arduino Uno
  • Breadboard (setengah)
  • Joystick
  • Motor servo

Cara kerja

  1. Pin VERT joystick ke A0 dan HORZ ke A1; tombol SEL tidak dipakai pada template ini.
  2. Nilai analog kedua sumbu dibaca lalu diubah menjadi sudut derajat.
  3. Servo pertama di D9 bergerak mengikuti sumbu tegak, servo kedua di D10 mengikuti sumbu mendatar.
  4. Posisi kedua sumbu dalam derajat juga dicetak ke Serial Monitor setiap saat.

Konsep yang dipelajari

Kendali dua sumbuDua servo dalam satu proyekmap() nilai analog ke derajatPustaka Servo

Kode program

//Created by Irham Azhari Aulia

#include <Servo.h>

// Menyiapkan colokan Joystick
int pinJoystickY = A0; // Pin VERT (Atas-Bawah)
int pinJoystickX = A1; // Pin HORZ (Kiri-Kanan)

// Menyiapkan colokan Motor Servo
int pinServoY = 9;     // Servo Atas-Bawah di pin 9
int pinServoX = 10;    // Servo Kiri-Kanan di pin 10

Servo motorAtasBawah;
Servo motorKiriKanan;

void setup() {
  Serial.begin(9600);
  motorAtasBawah.attach(pinServoY);
  motorKiriKanan.attach(pinServoX);

  Serial.println("=== Sistem Lengan Robot 2 Sumbu AKTIF ===");
}

void loop() {
  // 1. Membaca posisi tuas Joystick
  int nilaiY = analogRead(pinJoystickY);
  int nilaiX = analogRead(pinJoystickX);

  // 2. Menerjemahkan nilai (0-1023) menjadi derajat (0-180)
  int derajatY = map(nilaiY, 0, 1023, 0, 180);
  int derajatX = map(nilaiX, 0, 1023, 0, 180);

  // 3. Menggerakkan kedua motor secara bersamaan
  motorAtasBawah.write(derajatY);
  motorKiriKanan.write(derajatX);

  // Menampilkan data di Serial Monitor
  Serial.print("Sumbu Y: ");
  Serial.print(derajatY);
  Serial.print(" derajat | Sumbu X: ");
  Serial.print(derajatX);
  Serial.println(" derajat");

  delay(15);
}

Template Arduino Uno lainnya