Arduino

Açı Vererek Servo Motor Kontrolü

Servo motorlarda aşağıda görüldüğü gibi 3 adet giriş pini bulunur. Bu pinlerden kırmızı renkli kablo ucunun bağlı olduğu pin, servo motorun (+) besleme ucu olup mikrodenetleyici kartın 5V pinine bağlanır. Servo motorun kahverengi kablo ucunun bağlı olduğu pin, servo motorun (-) besleme ucu olup  mikrodenetleyici kartın GND pinine bağlanır. Servo motorun turuncu kablo ucunun bağlı olduğu pin ise PWM sinyal ucu olup mikrodenetleyici kartın giriş çıkış portlarından birine bağlanır. Görsel 3.51’deki devrede servo motorun PWM sinyal ucu mikrodenetleyici kartın D2 portuna bağlanmıştır. Servo motorları çalıştıracak PWM sinyalleri Servo.h kütüphanesi aracılığıyla üretilir. Servo servo1; komutuyla servo1 isminde bir servo nesnesi tanımlanır. void setup()fonksiyonu içine yazılan servo1.attach(2); komutuyla servo motorun sinyal ucunun bağlı olduğu port numarası belirlenir. void loop()fonksiyonu içine yazılan servo1.write(0); komutuyla servo motorun belirtilen açıda dönmesi sağlanır.
Açı vererek servo motor kontrolünü sağlayan örnek program kodları aşağıda görülmektedir.
#include <Servo.h>
Servo servo1; // servo1 adında servo nesnesi oluşturulur.
void setup() {
 servo1.attach(2); // Servo Motoru 2. porta bağlar.
}
void loop() {
 servo1.write(0); // Servo Motoru 0 derece döndür.
 delay(1000); // 1 saniye bekle.
 servo1.write(30); // Servo Motoru 30 derece döndür.
 delay(1000); // 1 saniye bekle.
 servo1.write(60); // Servo Motoru 60 derece döndür.
 delay(1000); // 1 saniye bekle.
servo1.write(90); // Servo Motoru 90 derece döndür.
 delay(1000); // 1 saniye bekle.
 servo1.write(150); // Servo Motoru 150 derece döndür.
 delay(1000); // 1 saniye bekle.
 servo1.write(180); // Servo Motoru 180 derece döndür.
 delay(1000); // 1 saniye bekle.
}
Servo motoru 0° ile 180° arasında döngü kullanarak dönmesini sağlayan örnek program kodları aşağıda görülmektedir.
#include <Servo.h>
Servo servo1; // servo1 adında servo nesnesi oluşturulur.
int pos = 0; // Servo motorun açısını tutan değişken
void setup() {
servo1.attach(2); // Servo Motoru 2. porta bağlar.
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) {
// 0 dereceden 180 dereceye 1 derece aralıkla döndüren for döngüsü
 Servo1.write(pos);
 delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
// 180 dereceden 0 dereceye 1 derece aralıkla döndüren for döngüsü
 Servo1.write(pos);
 delay(15);
}
}

 


İlgili Makaleler
IRremote Library Kurulumu
RGB LED ile Uzaktan Kumandanın Kullanımı
Potansiyometre ile LED Lambalarının Yanıp Sönme Hızının Ayarlanması
Seri Monitör Yardımıyla Girilen Değere Göre Ledi Yakma Uygulamasını TinkerCAD Platformunda Yapma
Arduino Uno Kart ile Trafik Lambası Kontrolü
Arduino Uno Kart Kullanarak Anahtar İle Kontrol Edilen Dijital Giriş Uygulamasını TinkerCAD Platformunda Yapma
LDR Elemanıyla Ölçülen Işık Seviyesini Ledler Yardımıyla Gösteren Uygulamayı TinkerCAD Platformunda Yapma
Arduino Uno Kart İle Ledlerin Yanmasını Buton İle Kontrol Eden Uygulamayı TinkerCAD Platformunda Yapma
Mikrodenetleyici Kartla Mesafe Sensörü Değerlerine Göre Ledleri Yakma Uygulaması
Eğitsel Robotun Devre Şeması
TinkerCAD Platformunda Verilen Mesajı Seri Port Kullanarak Gösteren Uygulama
TinkerCAD Platformunu Kullanarak Merhaba Dünya Mesajını LCD Ekranda Görüntüleyen Arduino Uygulaması
Seri Port Ekranında Merhaba Dünya Mesajını Yazdıran Arduino Uno Uygulaması
Arduino Uno Kart İle Ledlerin Yanma Sırasını Anahtarla Değiştiren Uygulamayı TinkerCAD Platformunda Yapma
Arduino Uno Kart ile Trafik Işıklarında Yayalar İçin Sinyalizasyon Lambası Kontrolü
Mikrodenetleyici Kart İle Birlikte Kullanılan 7 Segment Display Elemanı ve Özellikleri
Arduino Kart İle Rastgele Belirlenen Süre Kadar Led Yakma Uygulamasını TinkerCAD Platformunda Yapma
Devrede Bulunun Ledlerden Birini Uzaktan Kumandayla Açıp Kapatan Uygulamayı Tinkercad Platformunda Gerçekleştirme
Potansiyometre ile Servo Motor Kontrolü
Robot Tabanlı Proje Geliştirmede Kullanılan Motor Sürücü

Yorum Ekle
   
Kötü İyi