Mengatur Sudut Motor Servo
Dengan Program Arduino
Mengatur Sudut Motor Servo Dengan Program Arduino |
A.
Pendahuluan
Sebelum
kita membahas panjang lebar, jangan lupa singgah ke blog saya à http://festyy.com/wNiBaj
dan klik Follow agar tidak
ketinggalan membaca tulisan-tulisan baru materi-materi lainnya tentang
Otomatisasi PLC maupun mikrokontroler dan juga Subscribe serta
Like
channel youtube saya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA
untuk melihat hasil dari percobaan-percobaan dengan mikrokontroler yang telah
dibuat.
Pada pembahasan sebelum-sebelumnya diblog tentang “Belajar Tentang Dasar Motor Servo” dan
“Membahas
Jenis-Jenis Beserta Kelebihan Dan Kekurangan Motor Servo”, telah kita jabarkan dengan cukup
rinci apa itu Motor Servo dan jenis-jenisnya sehingga kali ini langsung saja
kita akan mengimplementasikan caranya mengatur sudut servo dengan program
Arduino.
- Pembahasan
Seperti yang telah kita pelajari, Motor Servo bekerja
berdasarkan sinyal PWM yang diberikan dari mikrokontroler atau dalam hal ini
Arduino. Pada umumnya terdapat dua jenis Motor Servo yang dijual di pasaran,
yaitu Motor Servo rotation 180⁰ dan Motor Servo rotation continuous. Motor servo standard
(servo rotation 180⁰) adalah jenis yang paling umum dari motor servo, dimana
putaran poros outputnya terbatas hanya 90⁰ kearah kanan dan 90⁰
kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran atau
180⁰. Motor servo rotation continuous merupakan jenis motor
servo yang sebenarnya sama dengan jenis servo standard, hanya saja perputaran
porosnya tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah
kanan maupun kiri.
Gambar 01. Motor Servo 180 Pada Aplikasi Kaki Robot (http://zonaelektro.net) |
- Perancangan
Sebelum kita mulai membuat sebuah program, terlebih
dahulu rancanglah rangkaian Motor Servo yang terkoneksi dengan Board Arduino. Berikut
adalah rangkaian antara Motor Servo dan Arduino UNO.
Gambar 02. Rangkaian Motor Servo Dengan Arduino UNO |
Setelah rangkaian selesai dibuat, maka selanjutnya kita
membuat program untuk mengendalikan sudut Motor Servo menggunakan aplikasi
bawaan dari Arduino yaitu Arduino IDE. Dengan menggunakan Arduino IDE, seorang
programmer tidak perlu membuat program dari awal, dikarenakan dalam aplikasi
tersebut sudah disediakan contoh program untuk berbagaimacam jenis sensor dan
peralatan lainnya.
Dalam hal ini saya menggunakan Arduino IDE versi 1.5.6 dimana
untuk mencari contoh program Motor Servo yaitu dengan cara “Klik Aplikasi
Arduino IDE à Pilih Menu FILE
à Examples à
Servo à Sweep. Setelah dipilih maka akan muncul contoh program
Motor Servo yang akan kita gunakan seperti pada gambar dibawah ini. Untuk
memprogram Motor Servo kita akan menggunakan library yang sudah ada, atau
bawaan aplikasi Arduinonya sehingga tidak perlu add library lagi.
Program Arduino Kendali Sudut Motor Servo:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can
be created on most boards
int pos = 0; // variable to store the servo position
void setup()
{
myservo.attach(3); // attaches
the servo on pin 9 to the servo object
}
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>=0; 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
}
}
|
Motor Servo bergerak berdasarkan sinyal pulse yang
dikirimkan ke bagian input motor servo. Di arduino sendiri sinyal pulse itu,
dikirim berdasarkan derajat. Misal kita kirim 10 derajat, maka servo akan
berada di posisi 10 derajat, jika kita kirim 80 maka akan bergerak ke posisi 80
begitu seterusnya pada sudut-sudut yang diinginkan.
Penjelasan:
Berikut adalah penjabaran dari program kendali sudut
motor servo diatas:
- #include <Servo.h> digunakan untuk menyertakan library Servo pada program Arduino.
- Servo myservo; membuat variabel myservo
(bisa diubah terserah kamu), untuk motor servo.
- myservo.attach(3); memilih atau mengatur
pin 3 digital sebagai pin yang digunakan untuk motor servo pada variabel
servoku.
- servoku.write(pos); mengatur posisi
servo berdasarkan nilai parameter counting “pos”.
- for(pos = 0; pos <= 180; pos += 1), mengatur derajat sesuai kebutuh pergerakan servo kamu dalam hal ini diatur motor servo akan berputar dari sudut 0 (nol) derajat ke 180 derajat. Nilai derajat tersebut dapat diubah-ubah sesuai kebutuhan aplikasinya.
Catatan: Motor
Servo disarankan tidak bekerja secara terus menerus, dikarenakan dapat
menyebabkan panas pada motor drivernya ataupun pada motor didalamnya. Hal ini
dikarenakan, motor servo akan terus mempertahankan posisinya jika ada kekuatan
eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor servo
akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang
dimilikinya (rating torsi servo).
- Penutup
Demikian penjabaran singkat tentang “Mengatur Sudut Motor Servo Dengan Program
Arduino”. Untuk selanjutnya, buat yang ingin mempelajari Arduino dan lebih
mengenal Arduino ataupun sistem Automation lainnya seperti PLC silakan follow akun sosial
media saya di facebook “fungkyking”
juga diblog saya di http://festyy.com/wNiBaj dan jangan
lupa subscribe serta Like
channel youtube saya juga di (fungky king) link: https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk
melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler
yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk
penelitian ataupun alat untuk syarat kelulusan.
Demikian pembahasan singkat yang dapat
dibahas, mohon maaf jika terdapat kesalahan dalam penulisan yang mana semua ini
semata-mata hanya opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan
tambahan dari materi pembahasan yang dibahas silahkan dapat teman-teman
sertakan pada kolom komentar tambahan materi yang ingin disampaikan, sampaikan
pertanyaan dan isi kolom komentar dengan bijak.
Terima Kasih,
Salam Otomatisasi
Afriansyah, S.T.
(Fungky King)
fungkyking01@gmail.com
Kata Kunci / Keywords: ATMEGA, Arduino,
Arduino IDE, Arduino UNO, Bahasa C, fungkynotes.blogspot.co.id, fungky
corporation, fungky king, microcontroller, otomatis, pemprograman, programming,
plc, NodeMCU, ESP8266, Internet of Things (IoT), Wi-Fi, PWM, ADC, LED, Blink,
I2C (Inter-Integrated Circuit),
Two-wire (TWI), Program LCD 16X2 I2C, Sensor Suhu LM35, LCD (Liquid Crystal Display), Motor Servo
Referensi / Reference:
- www.arduino.ac.id
- www.fungkynotes.blogspot.com
- http://gestyy.com/w5Z3jE
- http://festyy.com/wNiBaj
- http://destyy.com/wMatJW
- http://arduino.cc/en/Main/Software
- www.google.com
- 8-bit
Atmel Microcontroller
with 128Kbytes In-System Programmable Flash: ATMEGA128
- Atmel, AVR318: Dallas 1-Wire Master on tinyAVR and megaAVR
- Afriansyah. 2012. Pengukur Kadar pH Air Berbasis Mikrokontroler ATMega 8, TE-UGM, Yogyakarta.
- https://fungkynotes.blogspot.com/2019/03/menghubungkan-aplikasi-arduino-ide.html
- https://fungkynotes.blogspot.com/2019/02/instruksi-instruksi-dasar-pada.html
- https://fungkynotes.blogspot.com/2019/02/apa-itu-sketch-arduino.html
- http://arduino.cc/en/Guide/Windows
Water Hack Burns 2lb of Fat OVERNIGHT
ReplyDeleteMore than 160 000 women and men are utilizing a easy and secret "liquids hack" to lose 1-2lbs each and every night in their sleep.
It is very simple and it works on anybody.
Just follow these easy step:
1) Go get a clear glass and fill it up half glass
2) Now do this crazy hack
you'll become 1-2lbs lighter as soon as tomorrow!
Terima Kasih sudah mampir,
Deletesemoga bermanfaat..