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.
0 comments:
Posting Komentar