4.2 KiB
🦾 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:
- 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 - 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:
- 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).
- ESP32, gamepad'i algıladığında otomatik olarak eşleşecek ve bağlanacaktır.
- Bağlantı kurulduğunda:
- Gamepad'in üzerindeki LED sabit yanmaya başlayacaktır.
- Seri Monitör ekranında
Gamepad Baglandiyazı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 + HOMEkombinasyonu ile açın. - ESP32'yi üzerindeki EN (Reset) butonuna basarak yeniden başlatın.
- Gamepad'i kapatıp tekrar
- Hareketler çok hızlı veya çok yavaş:
src/main.cppdosyasındakiconst 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çin0.1yapın).
📂 Proje Dosyalarınızın Konumu
- 📄 PlatformIO Yapılandırması: platformio.ini
- 📄 C++ Kod Dosyası: src/main.cpp