1. Dasar Teori
Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor.
Secara umum terdapat 2 jenis motor servo. Yaitu motor servo standard dan motor servo Continous. Servo motor tipe standar hanya mampu berputar 180 derajat. Motor servo standard sering dipakai pada sistim robotika misalnya untuk membuat " Robot Arm" ( Robot Lengan ). sedangkan Servo motor continuous dapat berputar sebesar 360 derajat. motor servo Continous sering dipakai untuk Mobile Robot. Pada badan servo tertulis tipe servo yang bersangkutan. Motor servo standar yang kali ini dipakai memiliki 3 buah kabel yaitu, power, ground dan signal.
- * Kabel warna merah merupakan kabel power yang berfungsi untuk mengkoneksikan dengan tegangan 5V pada board arduino.
- * Kabel yang berwarna coklat/hitam merupakan kabel ground yang nantinya akan dihubungkan dengan ground yang ada pada board arduino.
- * Kabel kuning yang merupakan kabel pin signal servo yang akan dihubungkan dengan pin 9 pada board arduino.
2. Alat dan Bahan
Komputer/Laptop/Netbook | ||
Arduino Mikrokontroler | ||
Servo Motor (beserta kabel) | ||
Kabel jumper Male to Female | Secukupnya |
baca juga: Push Button Switch Arduino
3. Cara Kerja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <Servo.h>
// membuat nama objek servo untuk pengontrolan servo Servo myservo; // variable untuk menyimpan posisi servo int pos = 0; void setup() { // objek servo diletakan pada pin 9 myservo.attach(9); } void loop() { // start dari 0 derajar sampai 180 derajat for (pos = 0; pos < 180; pos += 1) { // pada posisi 1 derajat // memberitahu servo untuk pergi ke posisi 'pos' myservo.write(pos); // tunggu 15ms untuk pencapaian posisi servo delay(15); } // start dari 180 derajat ke 0 derajat for (pos = 180; pos>=1; pos-=1) { // memberitahu servo untuk pergi ke posisi 'pos' myservo.write(pos); // tunggu 15ms untuk pencapaian posisi servo delay(15); } } |
No comments:
Post a Comment