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.
Komponen yang dipakai
- Arduino Uno
- Breadboard (setengah)
- Joystick
- Motor servo
Cara kerja
- Pin VERT joystick ke A0 dan HORZ ke A1; tombol SEL tidak dipakai pada template ini.
- Nilai analog kedua sumbu dibaca lalu diubah menjadi sudut derajat.
- Servo pertama di D9 bergerak mengikuti sumbu tegak, servo kedua di D10 mengikuti sumbu mendatar.
- Posisi kedua sumbu dalam derajat juga dicetak ke Serial Monitor setiap saat.
Konsep yang dipelajari
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);
}