feat: initialize PlatformIO project and implement robotic arm controller using Bluepad32 and servos
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# 🦾 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:
|
||||
```bash
|
||||
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:
|
||||
```text
|
||||
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
|
||||
* 📄 **PlatformIO Yapılandırması:** [platformio.ini](file:///d:/Works/2026/robotkol/platformio.ini)
|
||||
* 📄 **C++ Kod Dosyası:** [src/main.cpp](file:///d:/Works/2026/robotkol/src/main.cpp)
|
||||
Reference in New Issue
Block a user