PRAKTIKUM 11
MENGONTROL MOTOR SERVO MENGGUNAKAN
ARDUINO
A. Tujuan Instruksional Khusus
Setelah melakukan praktek ini, mahasiswa diharapkan mampu :
1. Mampu menjelaskan fungsi dari aktuator
2. Mampu mengontrol motor servo menggunakan serial monitor
3. Mampu mengontrol motor servo menggunakan potensiometer
4. Mampu mengontrol motor servo menggunakan sensor
B. Dasar Teori
1. Aktuator
Aktuator adalah sebuah alat mekanis yang mengubah tenaga listrik maupun fluida
menjadi kuantitas lain seperti kecepatan dan perangkat elektromagnetik sehingga
mampu menghasilkan energi kinetik. Energi kinetik yang dihasilkan akan
digunakan untuk menggerakkan atau mengontrol sebuah mekanisme atau sistem.
Biasanya Aktuator diaktifkan oleh lengan mekanik yang digerakkan oleh motor
listrik. Alat mekanis ini dikendalikan oleh pengontrol otomatis yang telah
diprogram di antara mikrokontroler. Aktuator sendiri dapat melakukan hal-hal
tertentu setelah menerima perintah dari controller, yang bertugas mengoperasikan
Aktuator. Jenis-jenis aktuatordapat dilihat pada Gambar 11.1
Gambar 11.1 Jenis-Jenis Akuator
Sebagai contoh, jika cahaya hadir dalam robot pencarian cahaya, sensor
memberikan informasi kepada pengontrol yang kemudian mengontrol bahwa
Aktuator bergerak ke arah sumber cahaya.
1.1. Fungsi Aktuator
Pada sistem pengendalian, fungsi Aktuator adalah sebagai penguat sinyal kontrol
yang berasal dari kontroler menjadi sinyal baru agar daya semakin besar dan
sesuai dengan daya yang dibutuhkan. Selain itu, fungsi Aktuator adalah sebagai
penggerak atau pengontrol sebuah sistem pada peralatan mekanis. Aktuator
diaktifkan oleh lengan mekanik yang digerakkan oleh motor listrik. Pengontrol
otomatis yang telah di program bertugas untuk mengendalikannya di antara
mikrokontroler. Berikut beberapa fungsi aktuator :
1. Penghasil gerakan
2. Gerakan rotasi dan translasi
3. Mayoritas aktuator > motor based
4. Aktuator dalam simulasi cenderung dibuat linier
5. Aktuator riil cenderung non-linier
2. Motor Listrik
Motor listrik adalah alat untuk mengubah energi listrik menjadi energi mekanik.
Alatyang berfungsi sebaliknya, mengubah energi mekanik menjadi energi listrik
disebut generator atau dinamo. Motor listrik dapat ditemukan pada peralatan
rumah tangga seperti kipas angin, mesin cuci, pompa air dan penyedot debu. Pada
motor listrik tenaga listrik diubah menjadi tenaga mekanik.
Perubahan ini dilakukan dengan mengubah tenaga listrik menjadi magnet yang
disebut sebagai elektro magnet. Sebagaimana kita ketahui bahwa kutub dari
magnet yang senama akan tolak-menolak dan kutub tidak senama, tarik-menarik.
Maka dapat memperoleh gerakan jika kita menempatkan sebuah magnet pada
sebuah poros yang dapat berputar, dan magnet yang lain pada suatu kedudukan
yang tetap.
2.1. Jenis-Jenis Motor Listrik
Tipe atau jenis motor listrik yang ada saat ini beraneka ragam jenis dan tipenya.
Semuajenis motor listrik yang ada memiliki 2 bagian utama yaitu stator dan rotor.
Stator adalah bagian motor listrik yang diam dan rotor adalah bagian motor listrik
yang bergerak (berputar). Pada dasarnya motor listrik dibedakan dari jenis sumber
tegangan kerja yang digunakan. Berdasarkan sumber tegangan kerjanya motor
listrik dapat dibedakan menjadi dua jenis yaitu:
a. Motor Listrik Arus Bolak-balik (AC) adalah jenis motor listrik yang beroperasi
dengan sumber tegangan arus listrik bolak balik.
b. Motor Listrik Arus Searah (DC) adalah jenis motor listrik yang beroperasi
dengansumber tegangan arus listrik searah.
Gambar 11.2 Klasifikasi Jenis Motor Listrik
3. Motor Servo
Motor Servo adalah motor listrik yang dirancang menggunakan sistem umpan
balik tertutup (closed loop). Sistem tertutup pada Servo menghasilkan umpan
balik (feedback) yang mempengaruhi input dan mengendalikan perangkat. Dalam
hal ini bertujuan untuk mengontrol kecepatan, akselerasi dan posisi sudut putaran
motor tersebut. Selain dapat menentukan posisi sudutnya, motor servo juga dapat
mempertahankan posisinya sehingga dapat menahan beban sesuai dengan
spesifikasi yang dimiliki. Selain itu, motor jenis ini juga memiliki torsi yang
tinggi. Keunggulanmotor servo inilah yang digunakan pada banyak lengan robot
di industri, dimana posisi sudut putarannya ditentukan oleh program komputer dan
terus berulang sehingga dapat mengerjakan perintah terus menerus.
3.1. Cara kerja motor Servo
Motor servo pada dasarnya terdiri dari motor DC, rangkaian gearbox, rangkaian
kontrol dan potensiometer. Bagian-bagiannya dengan jelas dapat dilihat pada
Gambar 11.3
Gambar 11.3 Bagian-Bagian dari Motor Servo
Rangkaian gear terhubung pada as motor DC yang memiliki RPM yang tinggi.
Gear ini akan meningkatkan torsi motor dengan konsekuensi turunnya RPM atau
kecepatannya. Potensiometer juga terhubung dengan gearbox. Putaran gearbox
mempengaruhi resistansi pada potensiometer. Potensiometer ini dirangkai
layaknya sebuah pembagi tegangan, sehingga ketika motor berputar,
potensiometer akan menghasilkan output berupa tegangan pada level tertentu.
Tegangan inilah yang menjadi informasi sudut putaran motor.
Untuk tetap mempertahankan posisinya, Rangkaian kontrol memerlukan sinyal
PWM(Pulse Width Modulation). Lebar sinyal ini diatur diantara 1 ms hingga 2 ms
(milidetik). Motor akan berputar dari titik 0° hingga maksimal (180° atau 360°,
tergantung tipenya) jika diberikan sinyal pada rentang waktu tersebut. Sinyal
PWM ini harus terus diberikan setiap 20ms. Perhatikan gambar dibawah ini. Pada
lebar pulsa1ms, motor akan tetap pada posisi 0°. Saat lebar pulsa diubah menjadi
1,5ms motor akan berputar 90°, dan apabila diberi sinyal 2 ms maka putarannya
menjadi 180°. Ilustrasi mengatur arah servo menggunakan PWM ditunjukan pada
Gambar 11.4.
Gambar 11.4 Mengatur Arah Servo dengan PWM
Apabila motor diberi beban yang dapat mengubah posisi sudut putaran, sistem
umpan balik ini akan memberikan informasi sehingga motor DC tetap pada
posisinya.
C. Alat dan Bahan
1. PC Processor minimal Pentium IV, RAM minimal 512 MB
2. Arduino Uno
3. Arduino IDE
4. Kabel Data USB A to USB B
5. Kabel Jumper
6. Breadboard
7. Motor Servo
8. Photoresistor
9. Sensor Ultrasonik
D. Langkah Kerja
Percobaan 1 : Mengontrol Putaran Motor Servo dengan Serial Monitor
1. Hubungkan Arduino UNO dengan Laptop menggunakan kabel data.
2. Buka Arduino IDE, pilih Tools Board Arduino Board Arduino Uno
3. Atur port yang digunakan, caranya pilih Tools Ports [Pilih port yang
sesuai].
4. Rangkai semua komponen yang diperlukan yaitu Arduino Uno, Kabel
Jumper,dan Motor Servo seperti pada Rangkaian Gambar 11.5.
Gambar 11.5 Rangkaian Sederhana untuk Mengontrol Motor Servo
5. Setelah selesai merangkai rangkaian seperti Gambar 11.5, tambahkan kode
berikut untuk menggerakan torsi motor servo sejauh 90𝑜. Tuliskan kode pada
Arduino IDE, sehingga kode lengkapnya menjadi seperti berikut :
1 include <Servo.h>
2 Servo myServo;
3 void setup() {
4 myServo.attach(7);
5 delay(100);
6}
7 void loop() {
8 myServo.write(0);
9 delay(1000);
10 myServo.write(90);
11 delay(1000);
12 }
4. Apabila tidak terjadi error, upload kode program ke Arduino Board. Amati
torsitorsii motor servo apakah bergerak sejaug sejauh 90𝑜.
5. Selanjutnya kita akan menggerakan torsi motor servo menggunakan nilai yang
kita inputkan pada serial monitor. Skema rangkaiannya sama seperti Gambar
11.5, hanya saja, kodenya berbeda.
6. Berikut adalah kode program untuk mengontrol gerakan motor servo melalui
serial monitor.
1 #include <Servo.h>
2 Servo myservo;
3 int pos = 0;
4 void setup(){
5 Serial.begin(9600);
6 myservo.attach(7);
7 myservo.write(0);
8 Serial.println("Mengatur Arah Servo ");
9}
10 void loop(){
11 if(Serial.available()>0){
12 String baca = Serial.readString();
13 unsigned int sudut = baca.toInt();
14 Serial.print("Sudut Putar : ");
15 Serial.println(sudut);
16 myservo.write(sudut);
17 }
18 }
7. Buka serial monitor, masukan nilai 0 s/d 180 untuk mengontrol putaran motor
servo
Percobaan 2 : Mengontrol Putaran Motor Servo dengan Potensiometer
1. Hubungkan Arduino UNO dengan Laptop menggunakan kabel data
2. Buka Arduino IDE, pilih Tools Board Arduino Board Arduino
3. Atur port yang digunakan, caranya pilih Tools Ports [Pilih port yang
sesuai]
4. Rangkai semua komponen yang diperlukan yaitu Arduino Uno, Kabel Jumper,
Breadboard, Motor Servo, dan Potensiometer seperti yang ditunjukan pada
Rangkaian Gambar 11.6
Gambar 11.6 Rangkaian Motor Servo dan Potensiometer
5. Setelah selesai merangkai rangkaian seperti Gambar 11.6, tambahkan kode
programuntuk mengontrol putaran motor servo menggunakan potensiometer.
Tuliskan kode pada Arduino IDE, sehingga kode lengkapnya menjadi seperti
berikut :
1 #include <Servo.h>
2 Servo myservo;
3 int potpin = 0;
4 int val;
5 void setup() {
6 Serial.begin(9600);
7 myservo.attach(7);
8}
9 void loop() {
10 val = analogRead(potpin);
11 val = map(val, 0, 1023, 0,180);
12 myservo.write(val);
13 Serial.println(val);
14 delay(500);
15 }
6. Apabila tidak terjadi error, upload kode program ke Arduino Board
7. Putar potensiometer, kemudian amati putaran torsi motor servo!
8. Putaran motor servo akan mengikuti putaran pada potensiometer
Percobaan 3 : Mengontrol Putaran Motor Servo Menggunakan Photoresistor
1. Hubungkan Arduino UNO dengan Laptop menggunakan kabel data
2. Buka Arduino IDE, pilih Tools Board Arduino Board Arduino
3. Atur port yang digunakan, caranya pilih Tools Ports [Pilih port yang
sesuai]
4. Rangkai semua komponen yang diperlukan yaitu Arduino Uno, Kabel
Jumper, Breadboard, Motor Servo, dan Photoresistor seperti yang ditunjukan
pada Rangkaian Gambar 11.7
Gambar 11.7 Rangkaian Motor Servo dan Potensiometer
5. Setelah selesai merangkai rangkaian seperti Gambar 11.7, tambahkan kode
programuntuk mengontrol putaran motor servo menggunakan potensiometer.
Tuliskan kode pada Arduino IDE, sehingga kode lengkapnya menjadi seperti
berikut :
1 #include<Servo.h>
2 int hasilSensorLDR;
3 Servo myservo;
4 void setup(){
5 Serial.begin(9600);
6 myservo.attach(7);
7}
8 void loop(){
9 hasilSensorLDR = analogRead(0);
10 if(hasilSensorLDR >= 160) {
11 myservo.write(10);
12 delay(500);
13 }
14 myservo.write(180);
15 delay(500);
16 Serial.println(hasilSensorLDR);
17 }
6. Apabila tidak terjadi error, upload kode program ke Arduino Board
7. Arahkan cahaya (dapat menggunakan flash handphone) ke arah photoresistor
8. Amati arah putaran dari motor servo !
Tugas
1. Setelah diterima menjadi embedded system engineer di paragon mall
semarang, andadiberi tugas oleh manager parkir untuk membuat palang pintu
otomatis. Palang pintudapat membuka dan menutup secara otomatis apabila
mendeteksi objek. Sebelum membangun prototipe, anda merancang skema
rangkaian yang ditunjukan pada Gambar 11.8
Gambar 11.8 Rangkaian Motor Servo dan Sensor Ultrasonik
Menggunakan sensor ultrasonik untuk mendeteksi objek, dan motor servo
yang menggerakan palang. Buatlah agar motor servo dapat berputar sebesar
90𝑜 untuk membuka menutup palang jika jarak objek terdeteksi 20 cm.
E. Hasil dan Pembahasan
Percobaan 1 : Mengotrol Motor Servo dengan Serial Monitor
Hasil percobaan setelah menyusun rangkaian berdasarkan langkah- langkah
Percobaan 1 : Mengontrol Motor Servo dengan Serial Monitor ditunjukan pada Gambar
11.9 dan Gambar 11.10. Pada Gambar 11.9 torsi motor servo bergerak sejauh 90𝑜.
Gambar 11.9. Hasil Percobaan 1A : Mengontrol Motor Servo dengan Serial Monitor
Berikut adalah kode percobaan 1A untuk mengatur motor servo pada Arduino IDE:
1. #include <Servo.h>
2. Servo
myServo; 3.
4. void setup() {
5. myServo.attach(7);
6. delay(100);
7. }
8.
9. void loop() {
10. myServo.write(0);
11. delay(1000);
12. myServo.write(90);
13. delay(1000);
14. }
Keterangan kode :
Baris 1 : include (Servo.h) yang merupakan library untuk pengontrolan pada motor servo di
Arduino
Baris 2 : servo myservo digunakan untuk membuat variabel servo untuk dikendalikan
Baris 4 : void setup() Arduino adalah sebagai bentuk inisialisasi atau pengenalan dalam
program Arduino dan hanya dieksekusi sekali sejak program dijalankan.
Baris 7 : deklarasi servo diletakkan pada pin no 7
Baris 9 : void loop() berarti command akan dieksekusi terus- menerus secara berurutan
hingga program berhenti dijalankan.
Baris 10 : memerintahkan servo ke posisi derajat sesuai nilai variabel yaitu 0 derajat
Baris 11 : menunggu 1000 milidetik
Baris 12 : memerintahkan servo ke posisi derajat sesuai nilai variabel yaitu 0 derajat
Baris 13 : menunggu 1000 milidetik
Gambar 11.10 Hasil percobaan 1B : Perubahan Posisi Sudut Torsi Motor Servo
Berikut adalah kode percobaan 1B untuk mengatur motor servo pada serial monitor
1. #include
<Servo.h> 2.
3. Servo
myservo; 4.
5. int pos =
0; 6.
7. void setup()
8. {
9. Serial.begin(9600);
10. myservo.attach(7);
11. myservo.write(0);
12. Serial.println("Mengatur Arah Servo ");
13.
} 14.
15. void loop()
16. {
17. if(Serial.available()>0){
18. String baca = Serial.readString();
19. unsigned int sudut = baca.toInt();
20. Serial.print("Sudut Putar : ");
21. Serial.println(sudut);
22. myservo.write(sudut);
23. }
24. }
Keterangan kode :
Baris 1 : include (Servo.h) yang merupakan library untuk pengontrolan pada motor
servo di Arduino
Baris 3 : servo myservo digunakan untuk membuat variabel servo untuk dikendalikan
Baris 5 : deklarasi variabel untuk posisi sudut
Baris 7 : void setup() Arduino adalah sebagai bentuk inisialisasi atau pengenalan dalam
program Arduino dan hanya dieksekusi sekali sejak program dijalankan.
Baris 9 : Umumnya fungsi ini digunakan untuk pendefinisian mode pin atau memulai
komunikasi serial. Sedangkan pada Serial 9600 digunakan untuk memulai komunikasi
serial pada arduino IDE dengan frekuensi 9600 KHz.
Baris 10 : deklarasi servo diletakkan pada pin no 7
Baris 11 : memerintahkan servo ke posisi derajat sesuai nilai variabel yaitu 0 derajat
Baris 12 : Pada serial monitor diberikan output mengatur arah servo
Baris 15 : void loop() berarti command akan dieksekusi terus- menerus secara berurutan
hingga program berhenti dijalankan.
Baris 17 : Fungsi available() di Arduino mendapatkan byte yang disimpan dari port
serial yang tersedia untuk dibaca. Ini adalah data 90derajat, yang sudah disimpan dan
tiba di buffer serial.
Baris 18 : string yang diiputkan akan dibaca menjadi sebuah integer
Baris 19 : Sudut yang diiputkan akan dibaca menjadi sebuah integer
Baris 20 : Serial monitor akan mencetak sudut putar di tampilan layar monitor
Baris 21 : sudut akan dicetak
Baris 22 : memerintahkan servo ke posisi derajat sesuai nilai variabel sesuai sudut yang
diinputkan
Ketika kode program dijalankan dengan cara klik Toolsà Serial Monitor,
kemudian ubah Baud Rate menjadi 9600 pada Arduino IDE, maka akan
muncul tampilan output seperti pada Gambar 11.11.
Gambar 11.11 Hasil tampilan serial monitor pada percobaan Mengontrol
Putaran Motor Servo dengan Serial Monitor
Percobaan 2 : Mengontrol Putaran Motor Servo dengan Potensiometer
Hasil percobaan setelah menyusun rangkaian berdasarkan langkah-langkah
Percobaan 2 : Mengontrol Putaran Motor Servo dengan Potensiometer
ditunjukan pada Gambar 11.12.
Gambar 11.12. Hasil Rangkaian Percobaan 2.
Setelah berhasil merangkai Arduino Uno seperti yang ditunjukkan gambar 11.12,
kami memasukkan kode pada Arduino IDE seperti berikut :
1 #include <Servo.h>
2 Servo myservo;
3 int potpin = 0;
4 int val;
5 void setup() {
6 Serial.begin(9600);
7 myservo.attach(7);
}
8
void loop() {
9
val = analogRead(potpin);
10
val = map(val, 0, 1023, 0,180);
11
myservo.write(val);
12
Serial.println(val);
13
delay(500);
14
}
15
Keterangan kode :
Baris 1-4 : Memasukkan library untuk motor servo, memanggil servo
dengan nama myservo (Servo myservo), mendeklarasikan potpin dengan
nilai 0, lalu mendeklarasikan integer dengan nama val.
Baris 5-8 : Memanggil serial port (serial.begin), lalu mendeklarasikan
servo berada pada port 7 (myservo.attach).
Baris 9-15 : Arduino membaca nilai yang di-input pada analog
(analogRead) lalu memasukkannya pada variabel val. Pada variable val
nilai yang di-input akan disesuaikan formatnya (map), yang awalnya 0-
1023 (sesuai inputan potensio meter) menjadi 0-180 (mengikuti derajat
putar maksimum motor servo). Lalu, servo akan berputar sesuai nilai
variable val (myservo.write) dan serial port akan menuliskan sudut yang
di-input oleh potensio meter dan dibaca oleh variabel val.
Setelah kode program dijalankan dengan cara klik Toolsà Serial Monitor,
kemudian ubah Baud Rate menjadi 9600 pada Arduino IDE, maka akan
muncul tampilan output seperti pada Gambar 11.13.
Gambar 11.13. Hasil yang Ditunjukkan Serial Port.
Ketika kode program dijalankan, kami memutar potensiometer untuk
mengatur kecepatan torsi motor servo. Adapun pada Gambar 11.13 merupakan
tampilan serial monitor pada Percobaan 2. Dengan potensiometer, kami dapat
mengatur arah torsi motor servo yang searah dengan jarum jam.
Percobaan 3 : Mengontrol Putaran Motor Servo Menggunakan Photoresistor
Hasil percobaan setelah menyusun rangkaian berdasarkan langkah-langkah
Percobaan 3 : Mengontrol Putaran Motor Servo Menggunakan Photoresistor
ditunjukan pada Gambar 11.14.
Gambar 11.14. Hasil Rangkaian Percobaan 3.
Setelah berhasil merangkai Arduino Uno seperti yang ditunjukkan gambar 11.14,
kami memasukkan kode pada Arduino IDE seperti berikut :
1 #include<Servo.h>
2 int hasilSensorLDR;
3 Servo myservo;
4 void setup(){
5 Serial.begin(9600);
6 myservo.attach(7);
7}
8 void loop(){
9 hasilSensorLDR = analogRead(0);
10 if(hasilSensorLDR >= 160) {
11 myservo.write(10);
12 delay(500);
13 }
14 myservo.write(180);
15 delay(500);
16 Serial.println(hasilSensorLDR);
17 }
Keterangan kode :
Baris 1-3 : Memasukkan library motor servo, membuat variable
hasilSensorLDR dengan tipe data integer, lalu me-rename servo dengan
nama myservo.
Baris 4-7 : Memanggil serial port (serial.begin) dan mendeklarasikan
myservo berada pada port 7.
Baris 8-17 : Membaca input analog (analogRead) dan memasukkan
nilainya pada variabel hasilSensorLDR, lalu apabila (if) nilai pada variabel
hasilSensorLDR lebih dari sama dengan 160 maka motor servo akan
merubah sudutnya menjadi 10 dengan delay 0,5 detik. Jika tidak, maka
motor servo akan merubah sudutnya menjadi 180 derajat dan serial port
menuliskan nilai hasilSensorLDR tiap 0,5 detik.
Setelah kode tersebut ditulis, kami meng-compile kode tersebut dan tidak
terjadi error. Lalu, Arduin akan membaca input analog dan memasukkan nilainya
pada variabel hasilSensorLDR, lalu apabila nilai pada variabel hasilSensorLDR
lebih dari sama dengan 160 maka motor servo akan merubah sudutnya menjadi 10
dengan delay 0,5 detik. Jika tidak, maka motor servo akan merubah sudutnya
menjadi 180 derajat dan serial port menuliskan nilai hasilSensorLDR tiap 0,5
detik. Pada serial port akan ditampilkan hasil seperti gambar 11.15 berikut ini :
Gambar 11.15. Hasil yang Ditunjukkan Serial Port.
Tugas Praktikum
Hasil percobaan setelah menyusun rangkaian beradasarkan pada soal pada Tugas
Praktikum 11 ditunjukan pada Gambar 11.16.
Gambar 11.16. Hasil Tugas Praktikum 11.
Setelah itu pada Arduino IDE tuliskan kode seperti berikut :
1 #include<Servo.h>
2 Servo myservo;
3 const int TRIGPIN = 8;
4 const int ECHOPIN = 9;
5 long timer;
6 int jarak;
7 void setup(){
8 Serial.begin(9600);
9 pinMode(ECHOPIN,INPUT);
10 pinMode(TRIGPIN,OUTPUT);
11 myservo.attach(7);}
12 void loop(){
13 digitalWrite(TRIGPIN,LOW);
14 delayMicroseconds(5);
15 digitalWrite(TRIGPIN,HIGH);
16 delayMicroseconds(5);
17 digitalWrite(TRIGPIN,LOW);
18 delayMicroseconds(5);
19 timer = pulseIn(ECHOPIN, HIGH);
20 jarak = (timer/2)/29.1;
21 Serial.print(" Jarak = ");
22 Serial.print(jarak);
23 Serial.print(" cm");
24 Serial.println();
25 if(jarak <= 20) {
26 myservo.write(150);
27 delay(3000);}
28 myservo.write(60);
29 delay(1000);
30 }
Keterangan kode :
Baris 1-6 : Memasukkan library motor servo, me-rename servo
dengan nama myservo, mendeklarasikan TRIGPIN dan ECHOPIN pada
port 8 dan 9, serta mendeklarasikan variable jarak dengan tipe data integer
dan variabel timer dengan tipe data long.
Baris 7-11 : Memanggil serial port (serial.begin), mendeklarasikan
TRIGPIN sebagai output dan ECHOPIN sebagai input, serta
mendeklarasikan myservo berada pada port 7.
Baris 12-30 : Pada tiap 1 detik, Arduino akan menghidup-matikan
TRIGPIN sebanyak 1 kali tiap 5ms lalu pada saat ECHOPIN bernilai
HIGH nilai dari perhitungan (pulseIn) yang dibaca akan dimasukkan pada
variabel timer. Setelah itu, nilai pada variabel timer akan dihitung dengan
rumus (timer / 2) / 29.1. Lalu, hasilnya akan dimasukkan pada variabel
jarak dan serial port akan menuliskan “jarak = x cm” dengan x adalah nilai
dari variabel jarak. Apabila (if), nilai variabel jarak kurang dari sama
dengan 20 maka, motor servo akan merubah sudutnya menjadi 150 dengan
delay 3 detik sebelum melanjutkan running kode selanjutnya. Setelah itu,
servo motor akan merubah sudutnya menjadi 60.
Setelah kode tersebut ditulis, kami meng-compile kode tersebut dan tidak terjadi
error. Lalu, Pada tiap 1 detik, Arduino akan menampilkan hasil hitung jarak pada
serial port. Lalu, saat nilai jarak kurang dari sama dengan 20 maka motor servo
akan merubah sudutnya selama 3 detik sebelum mengembalikannya ke sudut
semula. Hasil yang ditunjukkan oleh serial port akan seperti gambar 11.17 berikut
ini :
Gambar 11.16. Hasil yang Ditunjukkan Serial Port.
F. Kesimpulan
1. Motor Servo adalah motor listrik yang dirancang menggunakan sistem
umpan balik tertutup (closed loop).
2. Motor servo dapat digunakan saat kita telah menyertakan library servo
pada kode yang kita buat.
3. Motor servo dapat digabungkan dengan banyak input analog Arduino. Dan
beberapa di antaranya adalah sensor ultrasonic / HC-SR04, potensiometer,
dan lain-lain.