Menggerakkan servo motor dengan Arduino itu sangat mudah karena Arduino memiliki library khusus untuknya. Servo motor sering digunakan untuk aplikasi yang membutuhkan kontrol posisi yang presisi, seperti robotika atau sistem kemudi.
Program Arduino untuk Menggerakkan Servo Motor
Program ini akan membuat servo motor bergerak dari posisi 0 derajat ke 180 derajat dan kembali lagi secara berulang.
Komponen yang Dibutuhkan:
Arduino Board (misalnya Arduino Uno)
Servo Motor (misalnya SG90 atau MG996R)
Kabel Jumper
Skema Pengkabelan:
Servo motor umumnya memiliki 3 kabel dengan warna standar:
Kabel Merah (VCC): Hubungkan ke pin 5V Arduino.
Kabel Coklat/Hitam (GND): Hubungkan ke pin GND Arduino.
Kabel Oranye/Kuning (Signal): Hubungkan ke Digital Pin Arduino yang mendukung PWM (Pulse Width Modulation), seperti pin 9 atau 10. Pin-pin PWM ditandai dengan simbol
~
di samping nomor pin pada board Arduino Uno.
// --- Library yang Dibutuhkan ---
#include <Servo.h> // Mengimpor library Servo
// --- Inisialisasi Objek Servo ---
Servo myServo; // Membuat objek Servo bernama 'myServo'
// --- Konfigurasi Pin ---
const int servoPin = 9; // Pin digital tempat kabel sinyal servo terhubung
void setup() {
// Mengaitkan objek servo dengan pin yang digunakan
myServo.attach(servoPin);
// Mulai komunikasi serial untuk debugging (opsional)
Serial.begin(9600);
Serial.println("Servo Motor Program Started");
}
void loop() {
// --- Gerakan ke Posisi 0 Derajat ---
Serial.println("Moving to 0 degrees...");
myServo.write(0); // Menggerakkan servo ke posisi 0 derajat
delay(1000); // Jeda selama 1 detik (1000 milidetik)
// --- Gerakan ke Posisi 90 Derajat (opsional, untuk melihat gerakan bertahap) ---
Serial.println("Moving to 90 degrees...");
myServo.write(90); // Menggerakkan servo ke posisi 90 derajat
delay(1000); // Jeda selama 1 detik
// --- Gerakan ke Posisi 180 Derajat ---
Serial.println("Moving to 180 degrees...");
myServo.write(180); // Menggerakkan servo ke posisi 180 derajat
delay(1000); // Jeda selama 1 detik
// --- Kembali ke Posisi 90 Derajat (opsional) ---
Serial.println("Moving back to 90 degrees...");
myServo.write(90); // Menggerakkan servo ke posisi 90 derajat
delay(1000); // Jeda selama 1 detik
// --- Kembali ke Posisi 0 Derajat (untuk mengulang siklus) ---
Serial.println("Moving back to 0 degrees...");
myServo.write(0); // Menggerakkan servo ke posisi 0 derajat
delay(1000); // Jeda selama 1 detik
}
Penjelasan Kode:
#include <Servo.h>
:Baris ini adalah yang paling penting. Ini mengimpor library Servo bawaan Arduino. Library ini menyediakan semua fungsi yang Anda butuhkan untuk mengontrol servo dengan mudah.
Servo myServo;
:Ini membuat objek (instance) dari class
Servo
dan menamainyamyServo
. Anda bisa memberi nama apa pun yang Anda suka (misalnyaservoKamera
,servoPintu
, dll.) jika Anda menggunakan beberapa servo.
const int servoPin = 9;
:Mendefinisikan pin digital Arduino yang akan terhubung ke kabel sinyal servo. Pastikan pin ini adalah pin PWM (biasanya 3, 5, 6, 9, 10, 11 pada Uno).
setup()
Function:myServo.attach(servoPin);
: Fungsi ini "mengaitkan" objekmyServo
dengan pin digital yang telah Anda tentukan (servoPin
). Ini memberi tahu Arduino bahwa pin tersebut akan digunakan untuk mengontrol servo.
loop()
Function:myServo.write(posisi);
: Ini adalah fungsi utama untuk menggerakkan servo. Anda memberikan nilai posisi sudut dalam derajat (biasanya antara 0 hingga 180). Servo akan bergerak ke posisi tersebut.delay(1000);
: Memberikan jeda selama 1 detik (1000 milidetik) setelah servo mencapai setiap posisi. Ini memungkinkan Anda melihat gerakan servo dengan jelas.
Sebelum Mengunggah Program:
Pastikan Koneksi Benar: Periksa kembali semua koneksi kabel servo Anda ke Arduino (VCC ke 5V, GND ke GND, Signal ke Pin PWM).
Pastikan Daya Cukup: Untuk servo kecil seperti SG90, daya dari pin 5V Arduino umumnya cukup. Namun, untuk servo yang lebih besar (seperti MG996R) atau jika Anda menggunakan beberapa servo, sangat disarankan untuk menggunakan sumber daya eksternal yang terpisah untuk servo, karena servo dapat menarik arus yang cukup besar dan membebani regulator Arduino. Jika Anda menggunakan catu daya eksternal, pastikan GND dari catu daya eksternal terhubung ke GND Arduino.
Pilih Board dan Port: Di Arduino IDE, pastikan Anda telah memilih board Arduino yang benar (misal: "Arduino Uno") di Tools > Board dan port serial yang benar di Tools > Port.
Unggah Kode: Klik tombol "Upload" di Arduino IDE.
Setelah diunggah, servo motor Anda seharusnya mulai berputar antara 0, 90, dan 180 derajat secara berulang.
Komentar
Posting Komentar