Auteur Sujet: Décoduino : une "centrale DCC" dédiée à la voie de programmation  (Lu 34554 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Préambule :

On voit sur ce fil l'évolution d'un programme destiné à gérer les CV des locos, genre DecoderPro.
Vous pouvez suivre ce fil dans l'ordre chronologique ou aller directement à la dernière version (la V1.0) en allant page 6, au 03/01/2021.
Bonne lecture !

Quand on y réfléchit, la principale chose qu'on demande à la voie de programmation des CV, c'est qu'elle doit être ISOLÉE du reste du réseau.

Par ailleurs, on voit dans la vraie centrale DCC qui est en train d'être développée (http://forum.locoduino.org/index.php?topic=922.0), c'est que, finalement c'est assez bon marché. :P

Je propose donc de développer une centrale DCC spécifique qui ne sert qu'à la voie de programmation.

-> On n'a qu'un seul train à alimenter : Un simple L298 (1.74 €) est suffisant.
-> On n'a pas besoin du bus CAN ni de wifi : un simple Arduino NANO (3 €) suffit
-> Pas d'afficheur, pas de boutons (peut-être reset ?)
-> Quelques autres composants bon marché.
Donc, on le voit, la partie électronique est réduite "à sa plus simple expression" 8)

Reste LES parties logicielles :

-> Sur le NANO, la bibliothèque DCCpp, qui est encore en train de s'améliorer. ;D
Elle permet de lire et d'écrire les CV.

-> Sur l'ordinateur, un programme Processing, lui, complètement à créer.

Faire un affichage grand écran, facile à lire et dans lequel on n'a quelques cases à remplir et quelques curseurs à bouger, c'est simple.

La vraie difficulté (car il y en a quand même une !), c'est de connaitre les possibilités de l'immense variété des décodeurs de locos et dont je sais que certaines ne sont même pas dans leur doc ( :o)
C'est un challenge, certes, mais je suis persuadé qu'on peut le relever en commençant par les décodeurs les plus fréquents et les CV les plus courants.

Je vois, enfin, un autre avantage par rapport aux autres solutions :

Le programme de gestion des trains serait indépendant du programme de gestion des CV.
Ils pourraient donc s'afficher simultanément dans des fenêtres différentes.

-> Modifier un CV ne bloquerait pas l'affichage de la gestion des trains.
-> Ce programme serait même indépendant de toutes les centrales DCC, quelles qu'elles soient !

Et, tant qu'on parle de gestion des trains, dans mon programme (http://forum.locoduino.org/index.php?topic=751.0), j'ai un simple fichier Excel qui regroupe tous les véhicules qu'on a, avec les noms de leurs photos de dessus et de côté et quelques caractéristiques (couleur du fond, …)

On pourrait donc simplement ajouter des colonnes pour enregistrer les valeurs des CV pour chaque véhicule (les voitures et wagons ont aussi parfois des décodeurs).

Comme Processing sait LIRE les fichiers Excel (si on les sauve au format texte, séparateur tabulation), ÉCRIRE dans ces fichiers, on peut ainsi avoir une base à jour facile à exporter, lisible partout et par tous.

Et toujours à jour, sans erreurs de saisies manuelles.

En effet, c'est en mettant à jour le décodeur de la loco qu'automatiquement le fichier Excel se met à jour ! Et réciproquement !

Écriture (vers le bas) / Lecture (vers le haut):

Excel (.xls) : on peut aussi utiliser Libre Office et sauver en ".xls".
          <->
Excel (.txt, séparateur tabulation)
          <->
Fichier .tsv
          <->
Programme Processing Voie de programmation (celui à créer)
          <->
Câble USB (Série)
          <->
Arduino Nano de la centrale DCC dédiée voie de programmation
          <->
Voie de programmation
          <->
Décodeur de la loco

Et voilà. Bon, c'est un immense chantier, j'en suis conscient et ce ne sera pas fait demain matin. Mais je le trouve motivant.

Denis

(en PJ, mon fichier "Matériel.xls" actuel : la colonne "dcc" devrait maintenant s'appeler "CV1")
« Modifié: janvier 05, 2021, 09:47:54 am par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #1 le: juin 02, 2020, 12:43:58 pm »
Il est probable qu’un simple paramètre de configuration suffise à transformer la centrale pour voie principale en centrale pour voie de programmation  ;)

Est-il nécessaire de faire 2 centrales différentes si une seule suffit !

Pourquoi faire compliqué et plus cher ?
« Modifié: juin 02, 2020, 12:47:06 pm par Dominique »
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #2 le: juin 02, 2020, 01:43:36 pm »
L'argument du surcoût ne me convainc pas. Elle est vraiment minimaliste.
Je pense même qu'on peut directement utiliser une partie de ce que tu as déjà fait auparavant.
Je serais surpris qu'on dépasse les 10 €. ;)

Concernant l'indépendance, j'y vois des avantages :

1°) Le fait qu'on puisse utiliser la mise à jour des CV sur une voie paumée dans les coulisses et avoir, à l'avant du réseau, la vraie centrale dont on démontre les capacités au public. ;D
On n'a même pas besoin de réseau pour programmer les CV. Un bout de rail suffit. Par exemple à côté du bureau.

2°) Quand on n'a qu'une centrale, on ne peut plus s'en servir pendant qu'on programme des CV. Je sais bien qu'on évite de modifier les CV pendant l'exploitation.
Mais ça peut arriver. :(

3°) Dans le bus CAN, on a décidé (à juste titre) qu'on renvoyait toutes les infos du réseau périodiquement, disons toutes les 100 ms.
C'est une excellente idée, bien sûr.
Mais il ne faut pas le polluer avec des infos de mise à jour de CV.

Donc, il faudrait qu'une autre entrée/sortie soit dédiée à ça pour qu'un programme externe puisse gérer les 1024 CV possibles sur un  grand écran.

Note aussi que si les centrales du commerce permettent de lire/modifier les CV, c'est souvent assez laborieux. Et on peut peut-être éviter d'installer JMRI juste pour pouvoir profiter de Decoder Pro's.
Par ailleurs, j'aime bien l'idée du fichier Excel facile à transporter et toujours à jour.

Denis

"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #3 le: juin 02, 2020, 02:58:30 pm »
C’est vrai que sur mon réseau j’ai réalisé une centrale de programmation spéciale pour cela : j’avoue  ;)

Mais je ne suis pas à une centrale près ! J’en ai même à revendre !
« Modifié: juin 02, 2020, 03:49:41 pm par Dominique »
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #4 le: juin 02, 2020, 05:09:52 pm »
Je voudrais préciser un point TRÈS IMPORTANT :

JMRI (prononcer "j'aime rail") et son Decoder Pro's constitue LA référence des gestionnaires de CV et de décodeurs.

Je n'ai pas la prétention de faire un logiciel aussi complet, gérant plusieurs centaines de décodeurs, avec, pour ne citer que Zimo, des pages avec une quarantaine (!!) d'onglets contenant chacun au moins une dizaine de cases à remplir !
Non, loin de là, très loin de là.

Moi, ce qui m'intéresse, c'est de savoir ce que je fais, ce qui se passe si je modifie telle valeur et de comprendre ce que je fais.
Donc, je vais démarrer par des choses simples, sur des décodeurs simples, en augmentant la difficulté au fur et à mesure de la progression de mes compétences et de ce que je pourrais apprendre auprès de ceux qui voudront bien m'aider.

J'ai progressé ainsi pour mon gestionnaire, moi qui ne connaissait ni le C, ni Java, ni Processing en 2015. Et il a, maintenant, quelques caractéristiques sympas.
J'aime bien avoir un but ambitieux et progresser pas à pas.

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #5 le: juin 02, 2020, 09:34:08 pm »
Bonjour

Ca m'interresserait aussi.
Ne serait ce que pour comprendre pourquoi je n'arrive pas a modifier les cvs  avec mes montages précédents.  :)

Le néophyte de service !
Adhérent AFAN

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil

JMRI (prononcer "j'aime rail") et son Decoder Pro's constitue LA référence des gestionnaires de CV et de décodeurs.


Bon, à partir de là, faut-il réinventer une nième BaseStation ou Sprog ?

Un simple shield moteur à L298 (5€) sur un UNO (3€) + alimentation 12V (3.80€) (aucun autre composant) avec DCCpp.ino original en connexion USB serial sur JMRI répond au cahier des charges sans se griller un seul neurone.
(voir le site éditorial)

Il faudra juste se retenir de ne pas utiliser la voie principale, mais il suffit de ne pas la câbler.

Ceux qui n'ont pas ça dans leur boite à outils devraient se dépêcher d'en monter un.
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #7 le: juin 03, 2020, 07:50:20 am »
Bonjour Michel,

Tu as parfaitement raison : "L'électronique" est super simple (c'est du lego  :P), le logiciel existe déjà.

Mais, avec le même raisonnement, je n'aurais jamais développé mon gestionnaire
Et, comme je l'ai dit un peu après, j'aime bien comprendre comment ça marche. Or JMRI n'est pas un logiciel ouvert. Et ça, ça m'embête.
Et je ne peux pas le lier à mon gestionnaire.

Denis
« Modifié: juin 03, 2020, 08:04:53 am par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #8 le: juin 03, 2020, 09:57:22 am »
Coup de chance Denis, la partie hardware est terminée, tu vas pouvoir passer au logiciel.

Comme tu es un pro de Processing tu vas pouvoir faire quelque chose de sophistiqué qui éclipsera la manette minimale de l'article 132 :

https://www.locoduino.org/spip.php?article182

On attend ta réalisation !
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #9 le: juin 03, 2020, 11:01:51 am »
Tu te doutais bien que ce n'est pas la partie hardware qui me posait problème  8)

Pour répondre à ta question (un peu hors sujet ici, mais, bon..), j'avais bien pensé à faire quelque chose pour cette manette à l'époque.
Mais j'ai laissé tomber pour la simple raison que c'est quand même luxueux de mobiliser un ordinateur pour une simple manette.
Moi, je la trouve bien, cette manette. C'est kitch, mais sympa.

Par contre, quitte à digresser, je voudrais revenir sur le logiciel DCC++ de Greg.
Tout le monde s'est précipité sur la partie C++, particulièrement géniale et innovante, c'est vrai.

Mais la partie Processing est tombée dans l'oubli, ce qui est regrettable, car elle est tout aussi géniale et beaucoup plus complète que beaucoup de solutions du commerce.

Le principal reproche qu'on pourrait lui faire, c'est que la description du réseau est "en dur", dans le logiciel, et que c'est assez difficile de comprendre comment faire pour dessiner le sien à la place.
De même, les itinéraires sont définis "en dur". Et ça devient gênant dans une grande gare (la mienne et ses 180 itinéraires)

En tous cas, ça m'a donné l'idée de développer mon gestionnaire, qui, s'il est encore loin de faire tout ce que fait celui de Greg, fait aussi des choses que le sien ne fait pas dont, justement, la description de son propre réseau et des itinéraires.

Quant à la manette, je ne vois pas à quoi elle servirait pour modifier les CV  ;D

Denis

PS : sur le fil de la vraie centrale DCC, dois-je comprendre que vous voulez une manette Processing ?  :o
Sinon, j'ai ça aussi :
« Modifié: juin 03, 2020, 11:17:09 am par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #10 le: juin 03, 2020, 03:00:57 pm »
JMRI (prononcer "j'aime rail") et son Decoder Pro's constitue LA référence des gestionnaires de CV et de décodeurs.
Je n'ai pas la prétention de faire un logiciel aussi complet ...
J'avais néanmoins l'impression que tu voulais tenter de faire aussi bien que JMRI en Processing, ce dont je te sens tout à fait capable.
ll te reste juste à choisir sur quoi faire tourner Processing (smartphone, tablette, ordi, raspberry ...) et comment le faire communiquer avec une BaseStation :
bluetooth, wifi, serial (USB ou filaire), cette dernière option étant basique (sur ordi) donc simple à maitriser et parfaitement documentée pour la gestion des CV.
L'idée d'une manette dédiée à la gestion des CV me semble tout à fait réalisable puisque c'est ce que permet déjà la centrale intégrée de Thierry avec une interface homme machine certes austère.
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #11 le: juin 03, 2020, 05:54:44 pm »
En gros, tu n'aimes pas les interfaces austères... ;)

Concernant Decoder Pro's, ce serait effectivement tentant d'en faire un "look like".
Mais si l'apparence est une chose (disons-le, c'est assez facile : dessiner un onglet, un rectangle, un curseur), c'est très fastidieux parce qu'il y en a plein.

Et surtout, il y a (à la louche) 500 décodeurs, dont certains ont des possibilités que je n'imagine même pas (Zimo...)
Et là, ça sort clairement de mes compétences :

Peux-tu me dire à quoi correspond la "function output 6 effect generated" si tu choisis "Rotary Beacon"  :o
Attention, c'est la fonction 6, ce qui suppose que ce n'est pas la même que la fonction 5   8)

Un indice : c'est dans "lumières", parmi 33  :o onglets.

Donc, je laisse les pros chez les pros. Et, de toutes façons, j'en connais qui me diraient "mais pourquoi réinventer la roue" (ils se reconnaitrons  :D)

Par contre, je verrai bien une interface du même genre, sur des décodeurs "normaux" ;) et, si tu y tiens, un joli curseur et quelques boutons de fonction.
On fera ainsi d'une pierre deux coups.

Je vais certainement te décevoir, mais, pour l'instant, je n'ai pas trouvé d'appli Processing dans le PlayStore qui gère le réseau et donc, sauf erreur de ma part, pas le WiFi.
Il y en a chez La Pomme (on a regardé avec Pierre59).
Donc, pas de smartphone, pas de tablette Processing sous Android. Comme j'aimerai avoir tort !

De toutes façons, je pense qu'il faut de la place pour que l'affichage soit clair (j'exclue le smartphone, trop petit)
Par exemple, pour le fameux CV29, j'aimerais bien qu'on puisse bien détailler chaque bit, ce qu'il fait, etc...
Pour les CV gérant la vitesse, je voudrais une belle courbe (CV67 à CV94) qu'on pourrait choisir et déformer à volonté. Et ça prend de la place.

Denis

PS : Je suis peut-être le seul à ne pas en avoir un, mais quelqu'un a-t-il un shield L298 pour UNO dont il pourrait se séparer en versant une larme ? Je n'ai pas envie d'attendre 1 mois...
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 321
    • Voir le profil
Je vais certainement te décevoir, mais, pour l'instant, je n'ai pas trouvé d'appli Processing dans le PlayStore qui gère le réseau et donc, sauf erreur de ma part, pas le WiFi.
Il y en a chez La Pomme (on a regardé avec Pierre59).
Donc, pas de smartphone, pas de tablette Processing sous Android. Comme j'aimerai avoir tort !
Bonjour

Je ne comprends pas bien ce que tu veux dire, il est facile de faire en Processing une application Android qui gère le WIFI.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Décoduino : une "centrale DCC" dédiée à la voie de programmation
« Réponse #13 le: juin 03, 2020, 07:18:57 pm »
Bonjour Pierre,

On avait essayé et je n'avais pas réussi. Ou alors, je n'ai rien compris ?
Je préfèrerais franchement m'être trompé.
As-tu un exemple très basique (genre changer la couleur du fond d'écran à chaque pression) qui fonctionne ?

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
PS : Je suis peut-être le seul à ne pas en avoir un, mais quelqu'un a-t-il un shield L298 pour UNO dont il pourrait se séparer en versant une larme ? Je n'ai pas envie d'attendre 1 mois...

Bonjour Denis,

Oui j’ai de quoi te permettre d’éviter ce mois d’attente et t’en envoies un dès demain  ;D ;D


Mais en échange, permets moi de te chambrer un peu sur ces délires que tu te permets d’exprimer dans l’ignorance des développements concernés. Mais je n’ai pas épuisé mon droit de réponse donc attends toi à une marée de grande amplitude  ;D
« Modifié: juin 03, 2020, 08:24:09 pm par Dominique »
Cordialement,
Dominique