🦾 4-Axis Robot Arm & Bluetooth Gamepad Control System

Bu proje, ESP32 geliştirme kartı kullanarak Gen Game New S7 Bluetooth Gamepad ile 4 servo motorlu bir robot kolun otonom ve hassas kontrolünü sağlar.

Yazılım altyapısı kurulmuş, derlenmiş ve ESP32 kartınıza başarıyla yüklenmiştir. Projeyi hemen test etmek için aşağıdaki adımları sırasıyla uygulayabilirsiniz.


🚀 Şu Anda Yapmanız Gerekenler (Adım Adım)

1️⃣ Adım: Donanım Bağlantılarını Yapın (Wiring)

Servo motorların sinyal kablolarını (genellikle turuncu veya sarı) ESP32'nin aşağıdaki ilgili GPIO pinlerine bağlayın:

Servo Motor ESP32 GPIO Pini Gamepad Kontrolü
Taban (Base) GPIO 13 Sol Analog Çubuk (Sağ / Sol - X Ekseni)
Omuz (Shoulder) GPIO 12 Sol Analog Çubuk (Yukarı / Aşağı - Y Ekseni)
Dirsek (Elbow) GPIO 14 Sağ Analog Çubuk (Yukarı / Aşağı - Y Ekseni)
Kıskaç (Gripper) GPIO 27 A Butonu (Aç - 180°), B Butonu (Kapat - 0°)

⚠️ ÖNEMLİ GÜÇ UYARISI: Servo motorlar yüksek akım çeker. ESP32'nin zarar görmemesi ve servoların titrememesi (jitter) için:

  • Servoların kırmızı (VCC) ve kahverengi/siyah (GND) kablolarını harici bir 5V - 6V (en az 2A - 3A) güç kaynağına bağlayın.
  • ÇOK ÖNEMLİ: Harici güç kaynağının GND (-) kutbunu, ESP32'nin GND pinine mutlaka ortaklayın (birleştirin).

2️⃣ Adım: Seri Port Monitörünü Açın

ESP32'nin durumunu izlemek ve bağlantıyı doğrulamak için PlatformIO Seri Monitörünü açın:

  1. VS Code'da en alttaki mavi barda yer alan Fiş (Serial Monitor) ikonuna tıklayın veya terminale şu komutu yazın:
    python -m platformio device monitor
    
  2. Haberleşme hızı kodda 115200 baud olarak ayarlanmıştır. Monitör açıldığında şu mesajı görmelisiniz:
    Sistem Baslatildi. Gamepad baglantisi bekleniyor...
    

3️⃣ Adım: Gamepad'i Eşleştirin (Pairing)

Gen Game New S7 gamepad'inizi ESP32 ile eşleştirmek oldukça basittir. ESP32 şu an sürekli Bluetooth taraması yapmaktadır:

  1. Gamepad kapalıyken, eşleştirme moduna almak için:
    • X + HOME (GEN GAME) butonlarına aynı anda basın ve birkaç saniye basılı tutun.
    • Gamepad üzerindeki LED'ler hızlıca yanıp sönmeye başlayacaktır (bu, arama modunda olduğunu gösterir).
  2. ESP32, gamepad'i algıladığında otomatik olarak eşleşecek ve bağlanacaktır.
  3. Bağlantı kurulduğunda:
    • Gamepad'in üzerindeki LED sabit yanmaya başlayacaktır.
    • Seri Monitör ekranında Gamepad Baglandi yazısını göreceksiniz.

4️⃣ Adım: Robot Kolu Test Edin!

Bağlantı kurulduktan sonra aşağıdaki kontrolleri kullanarak robot kolunuzu hareket ettirebilirsiniz:

  • 🕹️ Sol Çubuğu Sola/Sağa itin: Taban motoru döner. Bıraktığınızda motor o anki açısında kalır.
  • 🕹️ Sol Çubuğu Yukarı/Aşağı itin: Omuz motoru aşağı/yukarı hareket eder.
  • 🕹️ Sağ Çubuğu Yukarı/Aşağı itin: Dirsek motoru aşağı/yukarı hareket eder.
  • 🔴 A Butonuna basın: Kıskaç tamamen açılır (180 derece).
  • 🟢 B Butonuna basın: Kıskaç tamamen kapanır (0 derece).

🛠️ Olası Sorun Giderme (Troubleshooting)

  • Servolar hiç hareket etmiyor veya titriyor:
    • Harici güç kaynağınızın gücü yetersiz olabilir veya harici güç kaynağının GND kutbu ile ESP32'nin GND pini birleştirilmemiştir. Bağlantıları kontrol edin.
  • Gamepad eşleşmiyor veya bağlanmıyor:
    • Gamepad'i kapatıp tekrar X + HOME kombinasyonu ile açın.
    • ESP32'yi üzerindeki EN (Reset) butonuna basarak yeniden başlatın.
  • Hareketler çok hızlı veya çok yavaş:
    • src/main.cpp dosyasındaki const float SPEED_SCALE = 0.3; değerini değiştirerek hareket hızını hassas bir şekilde ayarlayabilirsiniz (Örn: daha yavaş ve hassas hareket için 0.1 yapın).

📂 Proje Dosyalarınızın Konumu

S
Description
No description provided
Readme 98 KiB
Languages
C++ 100%