AI Assistant
Detail Karya Portofolio

Merancang Rangkaian Motor Servo Mini

Dery Adlil Karim Oleh: Dery Adlil Karim

Ringkasan Portofolio

Kali ini saya akan mencoba untuk menggunakan servo dengan Arduino. Servo yang akan digunakan adalah servo mikro.Di dalam servo terdapat gearbox yang kecil (untuk membuat gerakan yang lebih bertenaga) dan rangkaian elektronik (untuk memudahkan pengaturan). Sebuah servo standard dapat diatur posisinya dari 0 sampai dengan 180 derajat. Pengaturan posisi diatur menggunakan timed pulse, antara 1.25 milliseconds (0 derajat) dan 1.75 milliseconds (180 derajat) 1.5 milliseconds untuk 90 derajat). Waktu yang digunakan ini bervariasi dari tiap manufaktur servo. Apabila pulse yang digunakan dikirim setiap 25-50 milliseconds maka servo akan bergerak dengan sangat halus. Salah satu kelebihan Arduino adalah disediakannya software library yang memungkinkan untuk menggerakkan beberapa servo dengan kode yang sederhana.

Deskripsi & Detail Proyek

Kali ini saya akan mencoba untuk menggunakan servo dengan Arduino. Servo yang akan digunakan adalah servo mikro.Di dalam servo terdapat gearbox yang kecil (untuk membuat gerakan yang lebih bertenaga) dan rangkaian elektronik (untuk memudahkan pengaturan). Sebuah servo standard dapat diatur posisinya dari 0 sampai dengan 180 derajat. Pengaturan posisi diatur menggunakan timed pulse, antara 1.25 milliseconds (0 derajat) dan 1.75 milliseconds (180 derajat) 1.5 milliseconds untuk 90 derajat). Waktu yang digunakan ini bervariasi dari tiap manufaktur servo. Apabila pulse yang digunakan dikirim setiap 25-50 milliseconds maka servo akan bergerak dengan sangat halus. Salah satu kelebihan Arduino adalah disediakannya software library yang memungkinkan untuk menggerakkan beberapa servo dengan kode yang sederhana.

dengan gambar rangkaian:

 

Komponen yang diperlukan:

  • 1 buah servo mikro
  • Kabel jumper

 

 

Code Program:

include <Servo.h> 

Servo myservo;  

int pos = 0;    

void setup()

{

  myservo.attach(9); 

}

void loop()

{

  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees

  {                                  // in steps of 1 degree

    myservo.write(pos);              // tell servo to go to position in variable ‘pos’

    delay(15);                       // waits 15ms for the servo to reach the position

  }

  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees

  {

    myservo.write(pos);              // tell servo to go to position in variable ‘pos’

    delay(15);                       // waits 15ms for the servo to reach the position
 

  }

}