Rahman Ve Rahim Olan Allah'ın Adıyla (başlarım)
Tesla tarzı, modern araç kontrol paneli uygulaması. Arduino tabanlı elektronik diferansiyel sistemi (EDS) ile entegre.
- ✅ USB Serial - Otomatik port algılama (Windows/Linux/macOS)
- ✅ WiFi (TCP/IP) - Kablosuz bağlantı
- ✅ Bluetooth - Bluetooth seri port profili
- 🚀 Tesla tarzı modern tasarım
- 📊 Gerçek zamanlı hız, mod, vites göstergeleri
- 🎯 EDS (Elektronik Diferansiyel Sistemi) durumu
- 🔄 Direksiyon açısı ve motor güçleri
- 💡 Araç sinyal ve far göstergeleri
- 🗺️ Google Maps entegrasyonu
- 🕐 Saat ve tarih widget'ı
- 📱 USB Telefon Ekran Yansıtma (scrcpy ile)
- 🎥 Geri Görüş Kamerası (USB kamera desteği)
- 🔌 Otomatik Port Algılama (İşletim sistemine göre)
- 🌐 Multi-Platform Destek (Windows, Linux, macOS)
- 🔄 Otomatik Yeniden Bağlanma
- ⚙️ Grafik Arayüzlü Ayarlar Paneli
- 🎮 Mod seçimi (Eco / Normal / Sport)
- 🚦 Vites kontrolü (N / D / R)
- 💡 Far ve sinyal takibi
- 🎯 Elektronik Diferansiyel Sistemi (EDS) desteği
- 📐 Direksiyon açısı sensörü
- ⚡ Çift motor gaz kontrolü
- Python 3.8+
- PySide6 (Qt6)
- pyserial
- opencv-python (Kamera desteği için)
- numpy (Görüntü işleme için)
- pybluez (Bluetooth desteği için)
- Arduino (GoToGo 7.5 Alpha yazılımı yüklü)
- USB/WiFi/Bluetooth bağlantı
- Enkoder (direksiyon açısı için)
- Motor sürücüleri
- USB Kamera (Geri görüş için, Raspberry Pi'ye takılı)
- Android telefon (ekran yansıtma için)
- ADB (Android Debug Bridge)
- scrcpy (ekran yansıtma aracı)
pip install -r requirements.txtLinux:
sudo apt install adb scrcpyWindows:
scoop install adb scrcpy
# veya chocolatey: choco install adb scrcpymacOS:
brew install android-platform-tools scrcpyLinux:
sudo apt install bluetooth libbluetooth-dev
pip install pybluezWindows:
pip install pybluezmacOS:
pip install pyobjc-framework-CoreBluetoothpython main.pyUygulama otomatik olarak USB portunu algılamaya çalışacaktır.
- Uygulamayı başlatın
- Alt paneldeki ⚙️ Ayarlar butonuna tıklayın
- Bağlantı tipini seçin:
- USB Serial: Port seçin ve baud rate'i ayarlayın (varsayılan: 115200)
- WiFi: Arduino'nun IP adresi ve port numarasını girin
- Bluetooth: Cihazları arayın ve Arduino'yu seçin
- Bağlan butonuna tıklayın
- Android telefonunuzu USB ile bilgisayara bağlayın
- Telefonda Geliştirici Seçenekleri > USB Hata Ayıklama açık olmalı
- Alt paneldeki 📱 Telefon butonuna tıklayın
- Açılan panelden Ekranı Yansıt butonuna basın
- USB kamerayı Raspberry Pi'ye takın
- Kamera genellikle
/dev/video0olarak algılanır - Aracı geri vitese takın
- Otomatik olarak:
- Harita görünümü gizlenir
- Geri görüş kamerası aktif olur
- Park yardım çizgileri görüntülenir
- İleri vitese geçtiğinizde harita görünümüne geri döner
Kamera Ayarları:
- Varsayılan kamera:
/dev/video0 - Farklı bir kamera kullanmak için
main.pydosyasındakicamera_indexdeğerini değiştirin:self.camera_view = CameraView(camera_index=1) # /dev/video1 için
Uygulama aşağıdaki formatta veri bekler:
mode/far/durum/far2/vites/sinyallambasi/dortlu/sinyalsol/sinyalsag/speed1/speed2/direksiyonaci/solGaz/sagGaz/EDS_AKTIF
Örnek:
1/2/1/0/1/0/0/0/1/45.5/46.2/12.5/75/80/1
| Alan | Açıklama | Değerler |
|---|---|---|
| mode | Sürüş modu | 0=Eco, 1=Normal, 2=Sport |
| far | Ön far | 0=Kapalı, 1=Otomatik, 2=Açık |
| durum | Araç durumu | 0=Kapalı, 1=Açık, 2=Aksesuvar |
| far2 | Uzun/Sis far | 0=Kapalı, 1=Uzun, 2=Sis |
| vites | Vites | 0=Nötr, 1=İleri, 2=Geri |
| sinyallambasi | Sinyal lambası | 0/1 |
| dortlu | Dörtlü flaşör | 0/1 |
| sinyalsol | Sol sinyal | 0/1 |
| sinyalsag | Sağ sinyal | 0/1 |
| speed1 | Sol motor hızı | km/h |
| speed2 | Sağ motor hızı | km/h |
| direksiyonaci | Direksiyon açısı | Derece (-180 ile +180) |
| solGaz | Sol motor gaz | % (0-100) |
| sagGaz | Sağ motor gaz | % (0-100) |
| EDS_AKTIF | EDS durumu | 0=Kapalı, 1=Aktif |
- Arduino'nun USB ile bağlı olduğundan emin olun
- Gerekli sürücülerin yüklü olduğunu kontrol edin
- Linux'ta kullanıcınızın
dialoutgrubunda olması gerekir:sudo usermod -a -G dialout $USER # Yeniden giriş yapın
- Bluetooth'un açık olduğundan emin olun
- Arduino Bluetooth modülü ile eşleştirilmiş olmalı
- Linux'ta bluetooth servisi çalışıyor olmalı:
sudo systemctl start bluetooth
- ADB ve scrcpy kurulu olmalı
- Telefonda USB Hata Ayıklama açık olmalı
- İlk bağlantıda telefonda izin vermeniz gerekebilir
- USB kameranın Raspberry Pi'ye takılı olduğundan emin olun
- Kamera cihaz dosyasını kontrol edin:
ls -l /dev/video* - Kullanıcınızın
videogrubunda olması gerekir:sudo usermod -a -G video $USER # Yeniden giriş yapın
- Kamera test:
v4l2-ctl --list-devices
- OpenCV kütüphanelerinin yüklü olduğunu kontrol edin:
pip install opencv-python numpy
- Serial ayarlarını kontrol edin (Baud rate: 115200)
- Arduino'da doğru firmware yüklü olduğundan emin olun
- Serial monitörde veri geldiğini kontrol edin
ui/left_panel.py dosyasındaki stil kodlarını düzenleyerek renkleri değiştirebilirsiniz.
mode_names = ["ECO", "NORMAL", "SPORT"]
mode_colors = ["#00ff44", "#00aaff", "#ff4444"]main.py içinde auto_connect metodunu düzenleyin.
Bu proje GoToGo projesi kapsamında geliştirilmiştir.
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/yeniOzellik) - Değişikliklerinizi commit edin (
git commit -am 'Yeni özellik eklendi') - Branch'i push edin (
git push origin feature/yeniOzellik) - Pull Request oluşturun
Sorularınız için issue açabilirsiniz.