Maker216'da çift servo motor (pan-tilt) kurulumunu öğrenin. Malzeme listesi, devre şeması ve çalışan Arduino kodu bu rehberde. Evde uygulanabilir. Bu atölye rehberinde iki adet servo motoru Arduino ile kontrol ederek hareketli bir platform yapımını öğreneceğiz. Servo motorlar, açısal pozisyonun hassas bir şekilde kontrol edilmesini sağlayan motorlardır. İçlerinde bir DC motor, bir dişli kutusu, bir pozisyon sensörü (potansiyometre) ve bir kontrol devresi bulunur. Arduino'dan gönderilen sinyallerle motor, istenen açıya dönüp orada kilitlenir. Bu projede, bir motor yatay (sağ-sol), diğeri dikey (yukarı-aşağı) hareket vererek tam bir tarama mekanizması oluşturacağız.

Gerekli malzemeler

  • Malzemeler
  • Arduino Uno R3 (veya uyumlu kart)
  • 2x Tower Pro MG90S Mikro Servo Motor
  • 1x Mini Pan-Tilt Mekanizması Kiti (2 servo motoru birleştiren parça)
  • Arduino USB Bağlantı Kablosu
  • Erkek-Erkek Jumper Kabloları
  • (İsteğe bağlı) Breadboard (Güç dağıtımı için)

Adım adım yapım

1. 1. Bölüm

Yapım Anlatımı Adım 1: Mekanizmayı Birleştir İki adet Tower Pro MG90S servo motoru, mini pan-tilt kitine monte edin. Bu mekanizma, bir motorun (yatay eksen) diğerini (dikey eksen) taşıyarak, image_0.png'de görülen iki eksenli hareket yapısını oluşturur. Servoların millerine mekanizma kollarını uygun açılarla sabitleyerek hareket sınırlarını kontrol edin.

2. 2. Bölüm

Adım 2: Devre Bağlantılarını Yap Arduino Uno kartınızı, breadboard'unuzu ve servo motorları image_1.png'deki devre şemasına göre bağlayın. Her iki servo motorun da kahverengi/siyah (GND) kablosunu Arduino'nun GND pinine, kırmızı (güç) kablosunu 5V pinine bağlayın. Sinyal kablolarını (genelde turuncu veya sarı) ise; yatay (pan) hareketten sorumlu olan ilk servoyu dijital pin 9'a, dikey (tilt) hareketten sorumlu olan ikinci servoyu ise dijital pin 6'ya bağlayın. Breadboard'u kullanarak güç ve toprak bağlantılarını çoğaltın.

3. 3. Bölüm

Adım 3: Arduino Kodunu Yükle Arduino IDE'yi açın ve aşağıdaki kodu kopyalayın. Kartınızı ve portunuzu seçtikten sonra kodu Arduino'nuza yükleyin. Kod, servoları sırasıyla tam açı aralığında döndürerek "yukarı-aşağı" ve "sağ-sol" hareketlerini gösterecektir.xx

Proje kodu

Kodu Arduino IDE'ye aktarın. Pin numaralarını kendi devrenize göre kontrol ettikten sonra karta yükleyin.

Arduino / C++
#include <Servo.h>

// Servo nesnelerini oluştur
Servo panServo;  // Yatay (sağ-sol) hareket için servo
Servo tiltServo; // Dikey (yukarı-aşağı) hareket için servo

// Başlangıç pozisyonları
int panPos = 90; // Yatay orta nokta
int tiltPos = 45; // Dikey orta nokta (image_0.png mekanizmasına göre)

void setup() {
  // Servo pinlerini ata
  panServo.attach(9);  // Pan servosu dijital pin 9'a bağlı
  tiltServo.attach(6); // Tilt servosu dijital pin 6'ya bağlı
  
  // Servoları başlangıç pozisyonuna getir
  panServo.write(panPos);
  tiltServo.write(tiltPos);
  delay(1000); // Pozisyonun oturması için bekle
}

void loop() {
  // --- Yatay Tarama (Sağ-Sol) ---
  for (panPos = 0; panPos <= 180; panPos += 5) {
    panServo.write(panPos);
    delay(20); // Dönüş hızı
  }
  delay(500); // Uç noktada bekle
  for (panPos = 180; panPos >= 0; panPos -= 5) {
    panServo.write(panPos);
    delay(20); // Dönüş hızı
  }
  delay(500); // Başlangıç noktasına dön, bekle
  
  // --- Dikey Tarama (Yukarı-Aşağı) ---
  // Mekanizmanın dikey limitlerine göre açı aralığını sınırlayalım (20-70 derece)
  for (tiltPos = 20; tiltPos <= 70; tiltPos += 3) {
    tiltServo.write(tiltPos);
    delay(20); // Dönüş hızı
  }
  delay(500); // Uç noktada bekle
  for (tiltPos = 70; tiltPos >= 20; tiltPos -= 3) {
    tiltServo.write(tiltPos);
    delay(20); // Dönüş hızı
  }
  delay(500); // Başlangıç noktasına dön, bekle
}
10görüntülenme
0beğeni
0yorum
Atölyeye katıl →
Topluluk

Yorumlar

0

İlk yorumu siz yazın.

Yorum yap