Auteur Sujet: TCO avec Processing  (Lu 348 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: 1086
  • 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: 83
    • 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: 83
    • 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...  ;)