Bonjour.
Conduire deux trains avec une manette sans fil (Bluetooth), voilà le projet que je vous propose.
- Deux locos. en simultané.
- F0 à F3 pour chaque loco.
- Arrêt d’urgence.
- Arrêt des trains si déconnexion Bluetooh.
- Mémorisation des adresses (1 à 128)
- Accélération, décélération progressives.
- Témoin de charge.
- Compatible avec les applications WiFi (Z21)
- Pas de hardware supplémentaire.
- Coût dérisoire, manette PS3 sans fil d'occasion à partir de 15€
Mise en oeuvre :
-----------------------
Installer la bibliothèque PS3 téléchargeable ici :
https://github.com/jvpernis/esp32-ps3 (Lire le README)
Ajouter mes fichiers PS3.cpp et PS3.h dans le dossier de LaBox.
Dans .ino écrire:
- #include "PS3.h"
- PS3::begin(); dans void(setup)
- PS3::loop(); dans void(loop)
L’installation peut se faire aussi avec EXComm
L'utilisation de la librairie Bluetooth exige de modifier le partitionnement de la mémoire de l'ESP32.
IDE Arduino => Outils => Partition Scheme => HugeAPP (3MB no OTA/1MB SPIFFS) Voir image en pièce jointe
Appairage de la manette PS3
----------------------------
Pour un appairage automatique Bluetooth, il faut renseigner dans le setup() (begin) de PS3.cpp l’adresse MAC de votre manette.
Le logiciel SixaxisPairTool permet de lire l’adresse MAC de la manette.
https://sixaxispairtool.en.lo4d.com/windowsAprès compilation, place à la conduite.
Par défaut les adresses des locos sont 3 et 4 (Modifiable avant compilation)
Appuyer sur le bouton central PS pour connecter la manette à LaBox.
Une LED témoin de charge batterie s'allume.(1 = 25%, 2 = 50%, 3 = 75%, 4 = 100%)
Pour accélérer, Stick en avant. Pour décélérer, Stick en l’arrière.
Stick gauche pour Loco 1. Stick droit pour Loco 2
Accélération et décélération proportionnel à la position du Stick.
Boutons fonctions et urgences, voir les images ci-jointes.
Les quatre LED rouges indiquent le niveau de charge de la batterie.
Certaines informations s'affichent dans le moniteur série.
Modifier les adresses.
-----------------------
Entrer dans le mode programmation avec un appui sur SELECT. Tout en maintenant SELECT, appuyer sur START
La manette vibre un instant et une LED clignote.
Avec les Sticks (Droit pour loco 1, gauche pour loco 2) faites varier la vitesse.
Dans ce mode, la vitesse affichée sur l’écran de LaBox représente l’adresse loco désirée. (1 à 128)
Noter que la vitesse 1 n’existe pas, c'est vitesse 0 pour l’adresse 1.
Pour mémoriser les adresses, de nouveau un appui sur SELECT suivi de START
La manette vibre un instant.
Testé avec CommandStation-Ex-LaBox V.2.10.0 ==> OK
V.2.11.1 ==> OK
V.2.9.1 ==> Problème avec la taille de l'EEprom.
Solution: Dans LaboxMode.cpp:
ligne: 32 int LaboxModes::EEPROMModeProgAddress = 511; Remplacer 511 par 1
ligne: 53 EEPROM.begin(512); Remplacer 512 par 2
Rechargement de la manette.
---------------------------
La batterie interne se recharge à l'aide d'un cordon USB: Type A / Type mini B.
Un chargeur USB 5V. de GSM ne convient pas car les broches D- D+ ne sont pas câblées.
Recharger la sur l'USB d'un PC, MoDEm, Box, Décodeur TV... et avec un cordon USB Data.
Ce projet ne fonctionne qu’avec une manette PS3 SONY officielle,
j’en ai trouvé une sur ebay.fr à 13€ + 2,85€ d’envoi.
La solution sans fil certainement la moins chère.
Cette doc est succincte, pour plus de détails, me contacter. lebelge2@yahoo.fr
Télécharger ce projet depuis mon GitHub :
https://github.com/Lebelge2/Manette-PS3-pour-LaBoxVidéo Demo. sur Youtube :
https://youtube.com/shorts/9OI3lSBivxYBien à vous.