Auteur Sujet: Une manette originale  (Lu 2501 fois)

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Une manette originale
« le: mars 13, 2016, 04:11:17 pm »
On voit peu sur internet de manettes DCC (hors celles des grands constructeurs).
Je citerai le site de Paco qui a développé une solution DCC complète à base de PIC :
http://usuaris.tinet.cat/fmco/home_en.htm
Ce site a au moins pour intérêt d'être en plusieurs langues, dont le français (assez rare pour être signalé)

Mais toutes ces manettes sont limitées, même la plupart de celles des constructeurs.

1°) Qu'elles soient du commerce ou DIY, elles ont souvent un écran minimaliste (quand ce n'est pas 2 afficheurs à LED … :( ). Une manette moderne devra avoir un écran en couleur "assez grand" et si possible, tactile.

Pour l'instant, j'aime beaucoup la manette ESU II :
http://www.intermountain-railway.com/distrib/esu/html/ESU50114.htm dont je m'inspirerais bien pour le design.

2°) La manette devra être sans fil. Je n'ai pas de préférence pour le système.

3°) Je trouve anormal d'avoir à retenir un code DCC d'une loco.
Donc, il faut, au départ, associer ce code DCC à un type (ex : BB9004), un nom (ex "saucisson") et après, on l'oublie.
Toutes les fois où on aura besoin de ce code, ce sera au travers des son alias, jamais du code lui-même. Choisir parmi des photos est quand même plus agréable.

4°) De la même façon, on devra oublier le plus tôt possible le code DCC d'une aiguille ou d'un accessoire quelconque. Cliquer sur la représentation graphique d'une aiguille, d'un signal, est beaucoup plus parlant que de se rappeler de son code.

5°) Il n'est pas utile de pouvoir s'adresser à une aiguille particulière.
Et donc d'avoir un inter ou un bouton-poussoir au TCO qui lui corresponde.

Une aiguille, c'est l'un des éléments d'un itinéraire ou d'un circuit.

Je définirais l'itinéraire comme le moyen d'aller d'un point A à un point B, particulièrement une gare.
Dès que Pierre (Pierre59) aura fait son article sur les itinéraires, on aura, sur Locoduino, 3 (!!) façons d'arriver à les gérer (celle de Jean-Luc, celle de Pierre et la mienne).
On peut d'ailleurs étendre les itinéraires à l'extérieur des gares, en allant d'un point A à un point B quelconques.

Je définirais le circuit comme un itinéraire bouclé.

Donc, on ne voit l'aiguille particulière qu'au travers d'un itinéraire ou d'un circuit.

6°) Conduite manuelle et automatique.
En conduite automatique, on ne s'adresse pas aux aiguilles parce que, par définition, tout est automatisé…
Donc, le choix d'un itinéraire ou d'un circuit n'intervient que dans la conduite manuelle.

Ce que j'appelle conduite manuelle, c'est de conduire son propre train en respectant les signaux.
Votre train se déplace au milieu d'autres trains conduits automatiquement.
Et, bien sûr, avec une sécurité maximale : si on ne respecte pas un Sémaphore ou un Carré, votre train va s'arrêter quand même.
Une espèce "d'homme mort" en train miniature.
Ceux qui connaissent mon patronyme apprécieront… ;D

En plus d'intervenir sur la vitesse et le sens du train, ce qui est, somme toute, la moindre des choses pour une manette, j'y ajoute une fonction, cette fois, vraiment originale :
Le choix de l'itinéraire.
Si on réfléchit bien, le gestionnaire de réseau (Arduino DUE) sait, à tout moment, où est le train que l'on commande manuellement, au canton près, ce qui est suffisant.
C'est l'origine de l'itinéraire. On n'a rien à faire puisque c'est suivi, au fur et à mesure des déplacements du train.

Il n'y a plus qu'à choisir l'extrémité ! ;)

Et ça, puisque la conduite est manuelle, le gestionnaire de réseau n'en sait rien.
Il attend votre choix.
Mais il peut vous aider en fournissant des infos utiles pour faciliter votre choix.
Je propose, sur la manette, l'écran suivant :



On reconnaîtra ma gare, généreusement popularisée par Jean-Luc sur le forum. ;D ;D

A l'avant, 9 voies d'entrée et au fond les 12 voies destinations.

Votre train est sur la 3ème voie en partant de la gauche (en bleu) sur les 9 d'entrée.
Cette info est donnée par le gestionnaire de réseau qui sait où vous êtes.

Au fond, les 12 voies de destinations.
Le gestionnaire du réseau vous donne d'autres infos pour faciliter votre choix :

En rouge :     la voie est physiquement occupée
En orange :   la voie est, pour l'instant, libre, mais un autre train l'a déjà réservée.
                      On va dire "occupé par une source".
En vert :        la voie est libre

Entre les deux, les traits bleus vous indiquent que, si vous ne faites rien, les aiguilles sont en position allant vers la 7ème voie sur 12.
Mais votre itinéraire n'est pas défini. Simplement, les aiguilles sont en position pour aller vers la voie 7.
Vous avez donc le Carré et votre train est en cours d'arrêt.

A vote disposition sur la manette : un bouton codeur qui va vous permettre de choisir la voie vers laquelle vous voulez aller.

En tournant le bouton, le trait bleu intermédiaire se déplace sur l'une des 12 positions possibles.
Évidemment, le trait horizontal s'adapte pour relier votre position actuelle (voie origine 3) vers le trait de choix.

Dès que la position du trait bleu vous va, vous validez.
Supposons voie 9.
La voie destination devient bleue, l'itinéraire se lance et votre train va pouvoir y aller. :)

Mais il se passe alors quelque chose de fondamental :

Votre "TCO-manette" affiche alors ce qui suit la voie 9 (sur 12).
Dans le cas de ma gare, il s'agit d'une voie de garage (c'est une gare terminus).
Donc vous voyez en premier plan les 12 voies et plus rien en arrière plan.
Vous êtes localisé voie 9 (en bleu), mais il n'y a plus rien derrière.

Si, maintenant, vous inversez le sens de déplacement du train (pour sortir de la gare, c'est mieux), vous allez avoir en premier plan 12 voies et, au fond 9 voies !

Dit autrement : le "TCO-manette" vous montre où vous allez, mis à jour au fur et à mesure du déplacement du train.
Vous n'avez plus besoin de boutons sur le TCO !!  ;D ;D

Évidemment, c'est complémentaire à mon article sur le TCO en Processing.   ;)
« Modifié: avril 07, 2016, 12:43:15 pm par DDEFF »

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Re : Une manette originale
« Réponse #1 le: mars 14, 2016, 04:48:43 pm »
Je viens de lire un article dans "Électronique & Loisirs" sur la programmation des Android.
C'est un java proche de Processing, donc peut-être "assez simple" à comprendre.
Je n'ai pas testé. Je me méfie...  ???
Il y a aussi des articles dans Elektor et sur le net.

Mais, bon, on peut utiliser un mobile comme manette (ça, c'est très original  ;D ) ?
Au lieu d'un bouton codeur, 3 boutons tactiles : choix vers la gauche, validation, choix vers la droite pour la gare.
Et, bien sûr, affichage de la gare ou du prochain aiguillage (en format "à l'italienne")

A part ça, ce post est un début de cahier des charges, sujet à remarques de votre part (ajouts, suppressions, modifs, ...).

Dernière remarque : il n'est pas interdit non plus d'avoir une manette pour l'analogique.
Comme on parle à un Arduino, ça devrait même être la même.
« Modifié: mars 14, 2016, 05:22:16 pm par DDEFF »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • 100% Arduino et N
    • Voir le profil
Re : Une manette originale
« Réponse #2 le: mars 15, 2016, 06:54:39 pm »
J'aurais tendance à penser que ce qui compte c'est "ce qu'on veut faire" avant "comment on veut le faire", non ?

Dans ces conditions on peut se demander si ce n'est pas prematuré de choisir d'utiliser un système d'exploitation type Android, IOS ou Mormoil.. pour faire une manette.

Sauf que des smart phones on en a tous dans les poches  :-[
Mais les applications abondent et ne nous plaisent pas forcément.

En plus, la bête doit juste échanger des messages (à définir).

Si on se regarde les possibilités de communication de l'Arduino, notamment sans fil, il y a de quoi faire !

Alors, oui, d'accord pour commencer par le Cahier des Charges.


Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1085
    • Voir le profil
Re : Une manette originale
« Réponse #3 le: mars 15, 2016, 07:16:45 pm »
Oui bon certes mais quand même.

J'avais commencé à travailler sur une manette sans fil avec un écran tactile 3,5". Connexion en zigbee/Bluetooth le/wifi peu importe. Chargeur LI incorporé, etc

Et j'ai craqué. Trop de boulot, bibliothèques de gestion du LCD et du tactile trop merdiques, pas moyen de définir des zones de clipping (j'ai proposé l'ajout à l'auteur avec le code et tout et je me suis fait jeter), lent, peu fiable. La calibration du tactile n'a jamais fonctionné correctement. Et puis c'est du tactile résistif, on est à des années lumières du capacitif en matière de précision, de sensibilité, de réactivité. Bref un fois listé les éléments et fait le total, je me retrouvais à environ 100€ pour un truc épais, pas beau, pas fiable et dont je n'avais aucune idée de l'autonomie ni de la capacité à éviter que le truc ne prenne feu pendant la charge.

De l'autre côté on a les tablettes ou les smartphones (mais ces derniers sont trop petits pour moi) et j'en ai déjà, il n'y a que le logiciel à faire. Ils sont fins, beaux, ont une bonne autonomie. Ils ont une grande capacité de stockage, sont cent fois plus puissants qu'une manette que l'on ferait soi-même. Ils ont une connectivité Bluetooth et wifi. Et surtout ils permettent d'autre choses comme des logs, du diagnostic, du paramétrage, ils peuvent faire TCO (dans mon cas iPad Air 2 9,7") afficher une photo de la loco dont on prend le contrôle.

Puis je faire mieux qu'un iPad Air 2 avec mes petits doigts ? Non bien sûr, pas la moindre chance.

Ça me donnera l'occasion d'apprendre Swift :-)

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Re : Une manette originale
« Réponse #4 le: mars 15, 2016, 08:26:31 pm »
Mon idée de départ était d'avoir un vrai écran pour le TCO (non tactile) et une manette plus petite (Androïd ou iPhone) qui permettait de conduire les trains.

Je suis parfaitement d'accord sur le fait qu'on ne fera pas mieux qu'un mobile/tablette et, en plus, on l'a déjà ou on peut en trouver à un prix "raisonnable".
Ceci dit, si on prend notre propre mobile, quand ça sonne, le train va dans le mur  ;D.
Il faut quelque chose avec lequel on ne téléphone pas  :D

Quant au TCO sur écran, on peut lui ajouter d'autres fonctions :
1°) Définition des circuits,
2°) Corrélation code DCC et image,
3°) Afficher la consommation du booster,
...
Toutes choses qu'on ne fait qu'une fois, tranquillement, avec un clavier et une souris sur le PCDuino + écran.

Mais pour l'exploitation : la manette.

Dit autrement : pas d'appli complète ni sur le PCduino ni sur la manette. Mais des appareils complémentaires.

A part ça, vous en pensez quoi, de mon "GPS pour train" ?

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • 100% Arduino et N
    • Voir le profil
Re : Re : Une manette originale
« Réponse #5 le: mars 16, 2016, 09:37:54 am »
Ça me donnera l'occasion d'apprendre Swift :-)

Je trouve que cette discussion est utile et démarre bien avec des points de vue très différents.
Moi aussi j'espère me lancer dans Swift avec un bel iPad Air que je n'ai pas encore.

Je crois que je ferais un beau configurateur pour définir les trains, les itinéraires, les horaires des circulations, les animations et un peu la conduite seulement.

Mais en attendant j'imagine une manette sans fil (avec chargeur fiable) pour piloter 1 seul train en manuel. Juste quelques boutons réels, pas de tactile et un écran pour voir la signalisation et quelques informations texte et icônes. L'idée est de Pierre qui nous a montré une maquette.

Bien sûr la boîte sera un peu épaisse par rapport aux écrans actuels, mais le plaisir du DIY compensera.

J'ai déjà réuni les composants pour en faire 2 ou 3, sauf la boîte.

Maintenant, l'idée de Denis de piloter un poste d'aiguillage depuis la cabine d'un train est originale. On pourrait imaginer des courses de trains où il serait possible de se doubler ou de bloquer les voies des autres !

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Re : Une manette originale
« Réponse #6 le: mars 16, 2016, 01:46:33 pm »
Au niveau de la manette, j'avais oublié de parler de la signalisation.  :P

Si vous vous rappelez ce que je voulais faire dans la forum Loco Revue : afficher le signal que voit le "conducteur" sur la manette.
Vous avez un signal H affiché et il faut tenir compte de ce qu'il indique pour avancer, avec une sécurité pour les affichages S ou C.
En plus, ça permet de comprendre pourquoi le train arrête alors que vous vouliez le faire avancer.  ???

Quant à la remarque de Dominique :
Moi, je démarrerais encore plus bas : une manette à fil et à boutons, avec un écran non tactile.
Je teste les possibilités et après on voit ce qu'il faut faire pour avoir une manette en "mobile".
Dissocier les problèmes :
- voir le fonctionnement vis à vis du bus CAN, de l'Arduino, avec un fil à la patte ...
- puis (et seulement après) voir pour transposer à un mobile.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • 100% Arduino et N
    • Voir le profil
Re : Re : Une manette originale
« Réponse #7 le: mars 16, 2016, 03:04:50 pm »
Quant à la remarque de Dominique :
Moi, je démarrerais encore plus bas : une manette à fil et à boutons, avec un écran non tactile.
Je teste les possibilités et après on voit ce qu'il faut faire pour avoir une manette en "mobile".
Dissocier les problèmes :
- voir le fonctionnement vis à vis du bus CAN, de l'Arduino, avec un fil à la patte ...
- puis (et seulement après) voir pour transposer à un mobile.

C'est déjà fait : mon module de traction, relié au CAN, comporte déjà 4 potentiomètres à glissière, 4 inverseurs pour le sens de déplacement et 4 poussoirs pour les phares.  C'est de la récupération rapide de mon précédent réseau auquel j'ai ajouté l'interface CAN. Je dois le refaire en mieux un de ces jours.

A terme, ces commandes seront réservées aux trains automatiques ou au plaisir du machiniste (moi  ;)).

Je vais garder ces 4 commandes sur le tableau de bord et je vais simplement connecter par radio 4 autres manettes, qui seront connectées seulement au module de traction (avec un Mega, il n'y a pas de souci). Les messages CAN continueront à transiter via le module CAN.

Ces commandes sans fil seront plus particulièrement réservées aux invités de tous ages.

Plus tard, je verrai bien une manette plus "humaine" comme sur la deuxième photo  :P


Le gestionnaire ne fera pas de différence entre les manettes en dur sur le tableau de bord et les manettes sans fil.

Voilà !

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • 100% Arduino et N
    • Voir le profil
Re : Une manette originale
« Réponse #8 le: mars 18, 2016, 10:46:12 am »
Reçu ce mail via Elektor :

FTDI lance le projet CLEO, un écran tactile pour Arduino via Indiegogo à 49$

https://www.indiegogo.com/projects/cleo-the-smart-tft-display-for-arduino#/

Pour une manette, ça me parait tout à fait suffisant  :-*

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Re : Une manette originale
« Réponse #9 le: mars 18, 2016, 10:57:54 am »
Marrant comme tout. Et un prix raisonnable.
Et ça donne une idée des possibilités d'un écran TFT programmé avec un Arduino.

A suivre !  :-*

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • 100% Arduino et N
    • Voir le profil
Re : Une manette originale
« Réponse #10 le: mars 18, 2016, 11:56:35 am »
C'était déjà facile à programmer (voir mon simulateur et même j'en programme 2 à la fois)

A part une bibliothèque d'objets tout faits et surtout le tactile, c'est surtout le design, le cadre autour de l'écran et la connectique qui seront intéressant. La taille en pixels (320x480) est interessante.

Pour une manette le truc de FTDI me parait parfait.

Pour ajouter des vrais boutons tactiles, il y a ça aussi :

http://www.ebay.fr/itm/MPR121-Capacitive-Touch-Keypad-Shield-module-sensitive-key-keyboard-For-arduino-/311568380186?hash=item488aec311a:g:cUUAAMXQatBSbivd
« Modifié: mars 18, 2016, 11:58:24 am par Dominique »

DDEFF

  • Sr. Member
  • ****
  • Messages: 424
    • Voir le profil
Re : Une manette originale
« Réponse #11 le: mars 18, 2016, 02:10:51 pm »
Résumé (après avoir tout lu) :

Cléo  :
Design sympa, pas trop cher, biblios existantes : j'avoue être tenté.
Me paraît bien, mais je ne sais pas comment réagit l'écran résistitif.
Autre chose : a l'air vraiment conçu comme un shield et là, on n'est plus dans la manette plate.
Si on ajoute wifi, bluetooth, je ne sais pas où on l'insère sans que ça dépasse quelque part.

Je ne suis pas absolument bloqué sur la taille (une boîte d'allumette m'irait aussi), mais il faut aussi ajouter l'alimentation (batteries, ...)
Donc, bon, mais à creuser.

Néro : 1A, c'est bien, mais ça reste un UNO limité en mémoire.

caméra, etc : bof.

Sur ton clavier tactile : prix imbattable, mais ce n'est pas ce que je cherche.