15 Okt 2019

Mengendalikan Motor Servo

Mengendalikan Motor Servo

Motor servo sangat cocok pengaplikasiannya dalam pembuatan project robotik karena motor servo bisa melakukan yang tidak bisa dilakukan oleh motor biasa yaitu dapat berputar pada posisi yang akurat. Dengan memberikan variasi lebar pulsa dari tegangan output arduino ke servo, sebagai contoh lebar pulsa 1.5ms akan menyebabkan servo bergerak pada posisi 90 derajat. Pada latihan ini kamu akan belajar menggunakan PWM (pulse width modulation) untuk mengontrol dan memutarkan sebuah servo.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Servo

Komponen yang digunakan pada Shield:

1 x Servo yang dihubungkan ke pin D3.


Rangkaian:


Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 09 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_09

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
   Latihan 09 Mengendalikan Motor Servo

   Sweep a servo back and forth through its full range of motion.

   Version 1.0 9/2017 MK
*/


#include <Servo.h>  // servo library

Servo servo1;  // servo control object


void setup() {
  servo1.attach(3);  //Connect the servo to pin 3
}


void loop() {
  int position;

  // Change position at full speed:
  servo1.write(90);    // Tell servo to go to 90 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(180);   // Tell servo to go to 180 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(0);     // Tell servo to go to 0 degrees
  delay(1000);         // Pause to get it time to move


  // Tell servo to go to 180 degrees, stepping by two degrees each step
  for(position = 0; position < 180; position += 2) {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }

  // Tell servo to go to 0 degrees, stepping by one degree each step
  for(position = 180; position >= 0; position -= 1) {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }
}

Catatan kode:

#include <Servo.h>
#include adalah sebuah perintah "preprocessor" spesial untuk menyertakan sebuah library (atau file lain) kedalam sketch.
Servo servo1;
servo1.attach(3);
Pada library servo menambahkan beberapa perintah untuk dapat mengontrol sebuah servo. Sebagai persiapan supaya Arduino dapat mengontrol sebuah servo, terlebih dahulu kamu harus membuat "object" servo untuk setiap servo (dalam contoh ini object diberi nama ("servo1"), kemudian tuliskan perintah "attach" untuk menghubungkan ke pin digital (dalam contoh ini menggunakan pin 3).
servo1.write(180);
Servo yang digunakan pada latihan ini tidak dapat berputar 360 derajat, tapi dapat diberi perintah untuk bergerak pada posisi tertentu. Kita menggunakan fungsi pada library servo, perintah write() akan membuat servo bergerak pada nilai derajat tertentu (0 sampai 180). Perlu diingat bahwa servo memerlukan waktu untuk bergerak dari satu posisi ke posisi lain, maka tambahkan delay() apabila diperlukan.

Apa yang seharusnya kamu lihat:

Kamu akan melihat servo bergerak ke beberapa posisi pada kecepatan tertentu. Jika motor servo tidak bergerak, periksa kembali koneksi kabel dan pastikan sketch sudah masuk kedalam Arduino. 



0 comments:

Posting Komentar