Skip to content

CaYatur/RoboCar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboCar Ön İzleme

Robot

RoboCar

ESP32 tabanlı, iki ayrı yöntemle kontrol edilebilen robot araç:

  1. Wi-Fi (UDP) + Android uygulaması (CaYa Car Controller) — tank sürüş, esnek kumanda, yazılımsal motor kalibrasyonu ve pil telemetrisi.
  2. PS5 DualSense kumandası — doğrudan Bluetooth, yarış tipi gaz/fren tetikleri, gerçek adaptive trigger + haptik "motor sesi".

cayadev.com tarafından geliştirildi.

✨ Özellikler

Ortak

  • Tank tipi diferansiyel sürüş (TB6612FNG + 2 DC motor)
  • NeoPixel LED ile durum göstergesi (ileri / geri / dönüş / dur / boost)

Wi-Fi + Android uygulaması (RobotCode.ino)

  • 📶 Wi-Fi (UDP) kontrol — ESP32 bir erişim noktası açar, telefon doğrudan bağlanır (40 ms'de bir komut).
  • 🎮 Esnek kumanda — sol ve sağ taraf bağımsız: Joystick, Oklu (D-pad) ve sağda Her Yön (tek çubukla ileri/geri + dönüş). Karışık kullanılabilir.
  • ⚙️ Hız ayarı — Max Hız ve Dönüş Hızı kaydırıcıları.
  • 🧭 Düz gitme (Trim) — zayıf/güçlü tarafı yazılımla eşitleme.
  • 🛑 Aktif fren — durunca eşzamanlı kısa-devre fren (sürüklenmeyi azaltır).
  • 🚀 Yumuşak başlangıç (soft-start) — kalkışta akım sıçramasını ve brownout/reset riskini düşürür.
  • 🔋 Pil telemetrisi — ADC + voltaj bölücü ile voltaj/yüzde (isteğe bağlı).
  • 💾 Kalıcı ayarlar — motor pinleri, yön ve pil ayarları NVS'ye yazılır; uygulamadan değiştirilebilir.
  • 🛡️ Failsafe — 1 sn komut gelmezse motorlar durur.

PS5 DualSense — Bluetooth (RoboHockeyCarCodeDualsense.ino)

  • 🎮 Doğrudan kablosuz bağlantı (Bluepad32) — Wi-Fi/uygulama gerektirmez.
  • 🏎️ Yarış kontrolü: R2 = gaz, L2 = geri/fren, sol çubuk X = direksiyon.
  • ○ (yuvarlak) = turbo boost; D-pad ↑↓ hız limiti, ←→ dönüş limiti.
  • ✊ Gerçek adaptive trigger + haptikle "motor sesi" simülasyonu.
  • 💡 DualSense lightbar ↔ araç LED senkron; 🔊 buzzer (korna/siren/melodi/bip, ✕ ile çalar, R1/L1 mod), mute = sessiz mod.

📁 Proje Yapısı

RoboCar/
├── Android/                                       # CaYa Car Controller (saf Java, tek Activity)
│   ├── app/src/main/java/com/cayadev/carcontroller/MainActivity.java
│   └── build_apk.ps1                              # Gradle'sız manuel APK derleme scripti
└── RoboHockeyRobot/
    ├── RobotCode/RobotCode.ino                    # Wi-Fi (UDP) firmware — Android app ile çalışır
    └── RoboHockeyCarCodeDualsense/
        └── RoboHockeyCarCodeDualsense.ino         # PS5 DualSense (Bluetooth) firmware

🔧 Donanım

Wi-Fi sürümü:

  • ESP32 kartı (geliştirme ESP32-C6 ile yapıldı; pinler ayarlanabilir)
  • TB6612FNG çift DC motor sürücü, 2 × DC motor
  • 2S Li-ion/LiPo pil (+ ESP için uygun 5V regülatör/buck)
  • 3 × WS2812 / NeoPixel LED
  • (Opsiyonel) pil ölçümü için voltaj bölücü → boş bir ADC pini

DualSense sürümü:

  • Klasik ESP32 (Bluetooth Classic gerekir; ESP32-C3/C6/S2 uymaz)
  • TB6612FNG + 2 × DC motor, 3 × NeoPixel, (ops.) buzzer
  • PS5 DualSense kumanda

Varsayılan pinler

Wi-Fi (RobotCode.ino):

İşlev Pin
Sol PWMA 7
Sol AIN1 / AIN2 6 / 4
Sağ PWMB 0
Sağ BIN1 / BIN2 1 / 2
STBY 3
NeoPixel LED 8
Pil ADC (ops.) 5

Pinler uygulamadaki Motor menüsünden değiştirilip araca kalıcı kaydedilebilir.

DualSense (RoboHockeyCarCodeDualsense.ino):

İşlev Pin
Sol AIN1 / AIN2 / PWM 14 / 12 / 13
Sağ BIN1 / BIN2 / PWM 27 / 26 / 25
NeoPixel LED 4
Buzzer 32

🚀 Kurulum

ESP32 — Wi-Fi sürümü

  1. Arduino IDE'ye ESP32 kart paketini kur.
  2. Adafruit NeoPixel kütüphanesini ekle.
  3. RoboHockeyRobot/RobotCode/RobotCode.ino dosyasını kartına yükle.

ESP32 — DualSense sürümü

  1. esp32_bluepad32 kart paketini kur (Bluepad32).
  2. Adafruit NeoPixel kütüphanesini ekle.
  3. RoboHockeyRobot/RoboHockeyCarCodeDualsense/RoboHockeyCarCodeDualsense.ino dosyasını kartına yükle.

Android (uygulama)

Gradle gerektirmeyen manuel script ile derlenir (Android SDK + JDK gerekli):

cd Android
./build_apk.ps1

Çıktı: Android/app/build/outputs/apk/debug/CaYaCar-debug.apk — telefona kurun. (minSdk 23, compileSdk 35)

🎯 Kullanım

Wi-Fi + Android

  1. Telefonu robotun yaydığı Wi-Fi ağına bağla (varsayılan CaYaDev_Robot / şifre 123456789).
  2. Android "internet yok, bağlı kalınsın mı?" sorarsa bağlı kal de (yoksa komutlar mobil veriye kaçar).
  3. Uygulamada Ayarlar → Robot IP 192.168.4.1, UDP Port 8888.
  4. Sür! Araç düz gitmiyorsa Motor → Trim, pili görmek için Motor → Pil alanlarını ayarla.

PS5 DualSense

  1. DualSense firmware'ini yükle; ESP açılınca kumandayı eşleştirme moduna al (Create + PS tuşlarını ışık hızlı yanıp sönene kadar basılı tut), otomatik bağlanır.
  2. R2 ileri, L2 geri/fren, sol çubuk direksiyon. turbo. D-pad ile hız/dönüş limiti. korna (R1/L1 ile mod). Mute = sessiz mod.

📡 UDP Protokolü (yalnız Wi-Fi sürümü)

Mesaj Yön Açıklama
x,y App → ESP Sürüş komutu (ham joystick, -950..950)
CFG? / CFG,... App ↔ ESP Motor ayarlarını oku / yaz
BATT? / BATT,mv,yüzde App ↔ ESP Pil durumu sorgusu / yanıtı
BCFG,pin,bölücü,min,max App → ESP Pil ölçüm ayarı

🔒 Güvenlik Notu

RobotCode.ino içindeki erişim noktası SSID ve şifresini (ssid, password) kendine göre değiştirmen önerilir.

📄 Lisans

MIT © 2026 ÇAĞAN TURGUT — cayadev.com

About

ESP32 + Android + DualSense ile Bluetooth veya Wi-Fi (UDP) kontrollü robot araç: tank sürüş, joystick/oklu/her yön kumanda, motor trim ve pil telemetrisi.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages