micro servo sg90-9g

Tutorial Servo SG90 9g Arduino

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, 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 Skema dan kode program dapat dilihat di bawah ini.

Skema Breadboard servo potensiometer Eksperimen kedua

Skema Breadboard servo 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 = 10; // Delay dalam mili detik untuk kecepatan berputar ke kiri
int delayKanan = 10; // 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
  }
 
}

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);
// Protus Tanuhandaru
 // www.progresstech.co.id
 include  // 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); 
 }
  // 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. Required fields are marked *