Auteur Sujet: TCO avec Processing  (Lu 955 fois)

plume

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
TCO avec Processing
« le: décembre 26, 2017, 08:50:45 pm »
Bonjour,

Dans le cadre de l'exploitation du réseau du club de l'UAICF-Nevers-Vauzelles, nous avions besoin de plusieurs pupitres en fonction de la configuration que l'on peut mettre en oeuvre. Le réseau peut être commandé en analogique ou digital. Ceci devenait très compliqué sur un plan électrique afin d'envisager les différentes possibilités. On a simplifier un peu cela avec un pupitre et 3 câbles : prise 220 Volts pour les différentes alimentations, un câble pour le signal DCC et un câble pour le protocole XpressNet (compatible Roco, Lenz, Viessmann, ...).

Nous souhaitions visualiser la position des aiguillages et commander les aiguillages via un bouton.
On a testé l'utilisation d'un écran tactile en développant une application avec "Processing", petit frère de l'Arduino pour créer des applications. On n'utilise pas de souris et on appuie sur des boutons sous forme de cercles de couleurs. Le tracé des voies est affiché à partir d'un fichier image png ou jpg. On peut paramétrer les couleurs des voies, des boutons et passer d'une partie du réseau à une autre par une simple touche.

Le TCO, « Tableau de Commande Optique » permet de visualiser la position des aiguillages ou l’état des accessoires et de les commander en DCC. Il peut aussi être adapté pour fonctionner en analogique. Le projet est évolutif et se compose de plusieurs briques optionnelles.

Le pupitre TCO met en œuvre :

- Un Écran LCD ;
- Un ordinateur ou Raspberry Pi 3 pour piloter l’écran LCD, pour traiter les informations et pour servir de routeur Wifi ;
- Un Décodeur d’accessoires fonctionnant avec un Arduino pour recevoir les commandes des accessoires ;
- Une Souris XpressNet fonctionnant avec un Arduino pour envoyer les commandes à la centrale DCC : cette souris est optionnelle si on ne veut pas piloter d’accessoires via l’écran tactile ou le logiciel ;
- Une Application compatible sous Windows, Macintosh et Linux réalisée avec le logiciel gratuit « Processing » ;
- Un Clavier 16 touches fonctionnant avec un Arduino (reconnu comme clavier USB par l'ordinateur) pour disposer de raccourcis pour accéder rapidement à des affichages du TCO ;
- 2 Souris XpressNet avec des Arduino Méga ont été ajoutées au pupitre pour piloter les locomotives.

Hormis les 3 premiers éléments (écran, ordinateur et décodeur), les autres sont optionnels.
Le Raspberry Pi 3 peut être configuré en routeur ce qui évite d'avoir à proximité une box ou un routeur pour utiliser des applications sur tablette ou Smartphone (Rocrail, JMRI, Z21, ...). Tout est dans le pupitre qui est en cours d'assemblage et de câblage.


Les fichiers source des programmes et une présentation détaillée sont disponibles sur le site : http://modelisme58.free.fr/index.php/arduino.html

Pour les souris XpressNet réalisées avec un Arduino Méga, les librairies utilisées sont issues du site : http://sourceforge.net/projects/pgahtow/files/

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1524
  • 100% Arduino et N
    • Voir le profil
Re : TCO avec Processing
« Réponse #1 le: décembre 27, 2017, 12:35:35 pm »
Bonjour Plume,

C'est un beau projet, fait en club ! Bravo.
Et merci de partager cette réalisation et plein d'autres.

Bonne fêtes
Dominique

chris_bzg

  • Global Moderator
  • Jr. Member
  • *****
  • Messages: 96
    • Voir le profil
Re : TCO avec Processing
« Réponse #2 le: janvier 05, 2018, 05:06:26 pm »
Pierre59 vient de publier aujourd'hui un article http://locoduino.org/spip.php?article222 pour fabriquer aisément un TCO en Processing sur l'écran d'ordinateur et ce TCO interagit avec la souris pour manœuvrer les aiguilles.

En m'inspirant de cet article, j'ai redessiné le TCO de mon réseau et j'ai trouvé que son programme est très facile à utiliser. Il suffit de modifier le nombre de lignes et de colonnes dans le premier onglet, de modifier le titre dans le setup (éventuellement) et enfin de construire son TCO ligne par ligne dans l'onglet TCO.

Mon TCO fait 11 lignes de 21 colonnes, et contient 1 TJD et 7 aiguilles. Pierre59 a aussi fourni un programme qui aide à construire le TCO, donc grâce à cet excellent article, la construction d'un TCO "virtuel" qui dans l'avenir pourra piloter un réseau "réel" est à la portée de tout le monde pour peu qu'il essaie...


chris_bzg

  • Global Moderator
  • Jr. Member
  • *****
  • Messages: 96
    • Voir le profil
Re : TCO avec Processing
« Réponse #3 le: janvier 05, 2018, 05:35:02 pm »
A titre de comparaison, grâce au précédent article de Pierre59 http://locoduino.org/spip.php?article214 (Processing pour nos trains), j'avais dessiné un TCO fonctionnel capable de communiquer avec une carte Arduino Uno, elle-même programmée pour agir sur le réseau et manœuvrer les aiguilles. Je suis actuellement en train de construire l'interface entre l'ordinateur et le réseau (une sorte de grosse boite recueillant la carte Arduino, les cartes relais (car mes aiguilles sont à solénoïdes), et les alimentations en provenance du transfo).

Pour arriver à cela, j'ai dû dessiner tous les pavés nécessaires ; l'article de Pierre59, basé sur des transformations (rotation, symétrie) apporte tout ce qui est nécessaire, la preuve l'image du dessus à comparer avec celle du dessous ; il manque juste les heurtoirs et les numéros de voie, ainsi que le sens de l'alimentation des voies étant donné que je suis en analogique (bleu = départ de la gare terminus - jaune = retour et gris pour une voie non alimentée). Des interrupteurs ON-OFF virtuels ont été rajoutés sur les voies de garage. Les boucles de retournement sont gérées par de simples diodes. Bien entendu, l'informatique me permet de gérer simplement des enclenchements d'itinéraires en positionnant les aiguilles comme il se doit et en évitant les erreurs.

Auparavant, j'avais un TCO électromécanique et il ne faisait pas tout cela ! L'informatique permet une approche simplifiée de problèmes complexes et c'est bien son avantage. Pour s'en convaincre, il suffit d'aller voir mon article http://locoduino.org/spip.php?article226 (Ménage à trois) où j'explique comment une carte Arduino peut commander un réseau disposant d'un TCO virtuel sur l'écran d'ordinateur. Bien sûr, la solution de l'UAICF-Nevers-Vauzelles est encore un cran au-dessus puisqu'elle remplace l'ordinateur par une solution plus portable et un écran LCD. Que de progrès réalisés ces derniers temps avec les solutions de type Arduino ou Raspberry...  ;)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1524
  • 100% Arduino et N
    • Voir le profil
Re : TCO avec Processing
« Réponse #4 le: novembre 25, 2018, 05:49:15 pm »
Bonjour,

Voici un essai de TCO en Processing sur l'écran 7" officiel du RPi 3B+



Ca rend très bien  ;D
Merci à Pierre pour la version de ton TCO adaptée à mon réseau. Ce n'est pas encore opérationnel, juste une copie d'écran avec "scrot".
« Modifié: novembre 25, 2018, 05:51:55 pm par Dominique »

DDEFF

  • Sr. Member
  • ****
  • Messages: 460
    • Voir le profil
Re : TCO avec Processing
« Réponse #5 le: décembre 09, 2018, 10:49:16 am »
Bonjour,
C'est effectivement très beau. ;D

Je note deux choses :
1°) L'usage du RPi 3B+
2°) Tu as une zone de manœuvres. Et, justement, je cherche des exemples de zones de manœuvres pour mon programme de TCO pour voir les subtilités de cette signalisation. C'est un sujet quasiment jamais traité dans les bouquins et survolé dans les revues.
C'est très difficile de comprendre cette signalisation (et qui explique que ce soit dans la liste des "reste à faire" de mon TCO...)
Pierre connaissant la SNCF mieux que moi, il a équipé ton réseau d'une signalisation correcte et c'est donc un bel exemple d'application.
Cv1, Cv2 : OK
CV5, Cv7, celui qui n'a pas de n° et Cv4 : OK
Après, je ne pige pas tout.
Z14, encadré par C5 et C3 ne serait pas une zone de manœuvre. C'est bizarre. Ce serait logique. Et ça expliquerait Cv5 et Cv6. J'ai dû louper une marche.
Et, à mon avis, Cv5 et Cv6 sont des signaux bas.


Pierre59

  • Full Member
  • ***
  • Messages: 127
    • Voir le profil
Re : Re : TCO avec Processing
« Réponse #6 le: décembre 10, 2018, 08:58:00 am »
Après, je ne pige pas tout.
Z14, encadré par C5 et C3 ne serait pas une zone de manœuvre. C'est bizarre. Ce serait logique. Et ça expliquerait Cv5 et Cv6. J'ai dû louper une marche.
Z14 peut servir comme voie d'évitement, on peut y entrer directement à partir des voies principales et sortir directement sur les voies principales, d'où les carrés C5 et C3. Elle peut aussi servir de zone de manoeuvre, dans ce cas C5 et/ou C3 peuvent présenter un feu manoeuvre (blanc lunaire)

Pour Z28 c'est un peu pareil, mais que dans un seul sens et C2 peut présenter un feu blanc pour les manoeuvres.
Et, à mon avis, Cv5 et Cv6 sont des signaux bas.
Cv5 et Cv6 sont bien normalement des signaux bas, cela permet des manoeuvres de changement de machine, de modifications sur une rame de voitures/wagons ... Pour ce faire C1, C2, C8 et C4 peuvent présenter un feu blanc.

Cette disposition avec des carrés violets bas est courante dans les gares. Dans ce cas le départ en manoeuvre se fait pratiquement toujours par les voies de sortie (pas par les voies de rentrée), le retour en gare est autorisé par le carré violet bas (feu blanc).

Certaines gares en voie unique ont aussi ce dispositif, mais dans ce cas les voies d'entrée et de sorties sont confondues, ce qui implique qu'un train arrivant en gare rencontre normalement un carré puis un carré violet qui est ouvert (feu blanc) si le carré est ouvert.

Pierre