Cara Pogram Servo Dengan Arduino Dengan Gampang
Monday, March 18, 2019
Edit
Sebelum mempogram kita harus tau apa itu servo.
Servo adalah jenis motor DC yang dapat diatur dengan mudah berdasarkan derajat,putaran servo
sekali putaranya kiri kanan kerena terdapat gear,potensio dan rangkaian servo sendiri.Sebelum masuk
materi pembahasan dibawah ini,terlebih dahulu kita siapkan bahan yang akan digunakan.
- .servo
- arduino
- push button
- kabel jumpur secukupnya
Jika sudah dirangkai selanjutnya kita kebagian pemogramannya.Untuk mempogram servo kita akan menggunakan library yang sudah ada.Yang belum tau apa itu library.Library adalah sebuah header
atau kepala pogram karena pogram ini kita menggunakan bahasa C++ .Sudah mudengkan? Jika sudah
mengerti selanjutnya kita masukkan pogramnya kedalam sofwere arduino ide.
/*
By : Natalya sijabat // www.natalyasijabat.blogspot.com*/
#include <Servo.h> // untuk header servo
#define sw1_pin 5
#define sw2_pin 6
Servo myservo; // membuat variable servo
volatile boolean sw1 = false;
volatile boolean sw2 = false;
uint8_t sw1ButtonState = 0;
uint8_t sw2ButtonState = 0;
uint8_t lastsw1ButtonState = 0;
uint8_t lastsw2ButtonState = 0;
void setup() {
Serial.begin(9600);
pinMode(sw1_pin, INPUT_PULLUP);
pinMode(sw2_pin, INPUT_PULLUP);
myservo.attach(9); // menghubungkan servo pada pin 9 digital
}
void loop() {
checkIfSw1ButtonIsPressed();
checkIfSw2ButtonIsPressed();
if( sw1){
Serial.println("sw1");
sw1 = false;
myservo.write(20);
delay(15); //waktu dalam 15 detik
}
else if( sw2){
Serial.println("sw2");
sw2 = false;
myservo.write(170);
delay(15); //waktu dalam 15 detik
}
//menghubungkan servo untuk sampai ke sana
}
void checkIfSw1ButtonIsPressed()
{
sw1ButtonState = digitalRead(sw1_pin);
if (sw1ButtonState != lastsw1ButtonState)
{
if ( sw1ButtonState == 0)
{
sw1=true;
}
delay(50);
}
lastsw1ButtonState = sw1ButtonState;
}
void checkIfSw2ButtonIsPressed()
{
sw2ButtonState = digitalRead(sw2_pin);
if (sw2ButtonState != lastsw2ButtonState)
{
if ( sw2ButtonState == 0)
{
sw2=true;
}
delay(50); //waktu dalam 50 detik
}
lastsw2ButtonState = sw2ButtonState;
}
Jika ingin tidak menggunakan push button maka kita lihat dibawah ini.
Masukkan pogramnya ke dalam sofwere arduino ide:
/*
By Natalya sijabat // natalyasijabat.blogspot.com
*/
#include <Servo.h> // untuk header servo
int pos = 0;
Servo servo_9;
void setup()
{
servo_9.attach(9); // menghubungkan servo pada pin 9 digital
}
void loop()
{
// menyapu servo dari 0 hingga 180 derajat dalam detik
// 1 derajat
for (pos = 0; pos <= 180; pos += 1) {
// kirim servo untuk pergi ke posisi dalam variable ‘pos’
servo_9.write(pos);
// tunggu 15 detik untuk servo untuk mencapai posisi
delay(15); // waktu selama 15 detik
}
for (pos = 180; pos >= 0; pos -= 1) {
// kirim servo untuk pergi ke posisi dalam variable ‘pos’
servo_9.write(pos);
// tunggu 15 detik untuk servo untuk mencapai posisi
delay(15); // waktu selama 15 detik
}
}
Perbedaan rangkaian servo 1 dan rangkaian servo 2
- servo 1 jika tekan push button 1 makan servo berputar dan jika tekan push button 2 maka putarannya sebaliknya
- servo 2 akan berputar kanan kiri maksudnya servo akan berputar selama 15 menit kekanan dan berputar balik selama 15 menit kekiri
Okee sekian tutorial yang saya tulis,jika anda ingin belajar project ini anda bisa kembangkan dengan
menambahakan komponen lain seperti keypad,RFID,dan lain lain.Atau anda bisa menambahkan
servo ini dan menambahkan pogramnya untuk robot arm.Keren bukan! Cocokkan untuk skripsi anda
nantinya.oek sikian dan terimahkasih.