#include <Servo.h> // Sertakan pustaka untuk bekerja dengan motor Servo
// Buat objek Servo, digunakan untuk mengendalikan motor Servo (fungsi akses, dll)
Servo myServo; // 12 objek Servo dapat dibuat di sebagian besar papan
// Tentukan variabel untuk menyimpan nilai dari joystick dalam arah horizontal
const int analogPin = A0; // Untuk membaca nilai dalam arah x dari joystick
// Tentukan variabel untuk menyimpan posisi Servo, untuk menggerakkan Servo dalam loop()
int value = 0; // Akan diubah dari input analog menjadi output sudut
// (lihat fungsi map() yang digunakan dalam loop() di bawah)
// Kode setup, dijalankan sekali:
void setup() {
pinMode(analogPin, INPUT); // Tetapkan SW_pin ke mode input
Serial.begin(9600); // Buka port serial pada 9600 baud
// Lampirkan Servo pada pin 9 ke objek Servo
myServo.attach(9);
}
// Kode utama, dijalankan berulang-ulang:
void loop() {
// Baca nilai analog 10-bit (0 hingga 1023) dari joystick
value = analogRead(analogPin); // Variabel nilai akan dikonversi ke derajat
// Gunakan map() untuk mengonversi nilai ke derajat (0 hingga 180) untuk motor Servo
value = map(value, 0, 1023, 0, 180);
// Gunakan nilai yang telah dikonversi untuk menggerakkan Servo
myServo.write(value); // Gerakkan ke posisi yang ditentukan oleh nilai (0 hingga 180)
delay(10); // Kemudian tunggu 10ms
}