Home » Blog » Tutorial Motor Servo SG90 9g Arduino – Bahasa Indonesia

Tutorial Motor Servo SG90 9g Arduino – Bahasa Indonesia

Servo diterapkan dimanapun, sebagai bagian dari hobby atau bisa juga untuk sesuatu yang serius seperti membuat robot atau mainan yang dikendalikan secara remote. Dalam video tutorial ini, kita akan menjalankan dua eksperimen. Dalam eksperimen pertama, kita mengendalikan servo SG90 9g, sebuah servo yang biasa digunakan dalam project Arduino, dengan menggunakan mikro controller Arduino. Dalam eksperimen kedua, kita menggunakan potensiometer untuk mengendalikan servo.

Baik dalam eksperimen pertama maupun kedua, dijelaskan bagaimana menyambungkan komponennya ke papan Arduino dan bagaimana membuat kode programnya. Eksperimen pertama: Mengendalikan Servo SG90 dengan Micro Controller Kode program Eksperimen kedua: Mengendalikan Servo SG90 dengan potensiometer

Kode Program Eksperimen Pertama

// Protus Tanuhandaru
// www.progresstech.co.id

#include <Servo.h> // memanggil library servo
Servo servo; // Membuat instance untuk servo
int posisi_awal = 90; // menentukan posisi awal servo
int sudut = 0; // Nilai awal pertambahan perputaran otomatis
int sudutMaks = 180; // Nilai maksimum sudut servo
int delayKiri = 1; // Delay dalam mili detik untuk kecepatan berputar ke kiri
int delayKanan = 1; // Delay dalam mili detik untuk kecepatan berputar ke kanan

void setup() {
  Serial.begin(9600);
  servo.attach(9); // servo ditempatkan pada PIN digital PWM 9
  servo.write(posisi_awal); // servo diposisikan pada posisi awal
  delay(1000);
}

void loop() {

  // Mengatur perilaku gerakan dan kecepatan servo
  for(sudut=0;sudut<sudutMaks;sudut++)
  {
    servo.write(sudut); // Menuliskan nilai sudut servo
    delay(delayKanan); // Memperlambat kecepatan berputar servo
  }
  for(sudut=sudutMaks;sudut>=1;sudut--)
  {
    servo.write(sudut); // Menuliskan nilai sudut servo
    delay(delayKiri); // Memperlambat kecepatan berputar servo
  }
 
}

Skema Eksperimen Kedua

Kode Program Eksperimen Kedua

// Protus Tanuhandaru
// www.progresstech.co.id

#include <Servo.h> // Memanggil library servo
Servo servo; // Membuat instance untuk servo
int posisi_awal = 90; // menentukan posisi awal servo
const int analogDataPot = A2; // PIN analog yang tersambung ke potensiometer
int nilaiInputPot = 0; // Nilai yang dibaca dari potensiometer
int sudut = 0; // Nilai yang dihasilkan ke PWM

void setup() {
  Serial.begin(9600);
  servo.attach(9); // servo ditempatkan pada PIN digital PWM 9
  servo.write(posisi_awal); // servo diposisikan pada posisi awal
  delay(1000);
}

void loop() {

  // membaca nilai analog potensiometer
  nilaiInputPot = analogRead(analogDataPot);

  // memetakan nilai ke kisaran nilai PWM
  sudut = map(nilaiInputPot, 0, 1023, 0, 180);

  // Memposisikan servo berdasarkan skala dari potensiometer
  servo.write(sudut); 

  // menunggu servo agar servo berpindah ke tempat yang diinginkan
  delay(15); 
}

Leave a Reply

Your email address will not be published.