XTof_vl a écrit:C'est en général le point 3 qui est assez lourd, à en devenir bloquant.
Ne serait-il pas possible de gérer tes cantons avec l'un ou l'autre des programmes open source disponible (JMRI ou RocRail). L'architecture que tu proposes me semble à la fois simple et peu onéreuse.
Bonjour,
Peut-être mais je ne suis pas un pro de l'informatique et lorsque j'ai regardé à l'époque (2009) les programmes de JMRI et de Rocrail, autant j'ai été intéressé par l'électronique de Rocrail, autant je ne voyais pas ce que je pouvais faire avec ces logiciels même si je pense que JMRI me semble utilisable (mais je n'ai pas regardé dans le détail). Par contre j'avais quelques connaissances en Visual Basic 6. Comme mon PC "Train" et celui de "Développement" tournaient en XP, j'ai commencé à développer le programme en VB. Pour info, le VB6 n'est plus disponible mais on peut trouver le "Visual Basic 2010 Express" en version open (pas de paiement) sur le site Microsoft.
Au début cela donnait l'image jointe en fichier dénommée "Commande". On y voit 3 régulateurs SPROG et le panneau de commande des aiguillages et Feux en VB. 1 loco tournait sur le circuit intérieur et 2 autres sur le circuit extérieur. Lors de manœuvres, il fallait faire attention que la loco de tête ne rattrape pas la loco de queue sur ce 2éme circuit.
Après qq accidents, j'ai donc en 2010 élaboré un autre programme en VB où j'ai repris une ancienne étude de dessin de circuit (le dessin est simple, ce sont des traits, des rayons, et des images prédessinées représentant des aiguillages) et j'ai créé des cantons - un canton peut être par exemple un trait droit + un rayon + une aiguille + nouveau trait. Ensuite avec l'arduino j'interroge quelle portion de rail est occupée ou pas (le signal revient à 1 ou 0) et ce n'est plus que de la programmation du style: loco 65505 sur canton 6 et en marche AV, si le canton 7 passe à 1, effacement du canton 6 et mise en couleur (couleur retenue pour la loco 65505) du canton 7. Si la loco va en marche AR, idem quand le canton 5 est à 1 c'est la 65505 qui l'occupe, etc...
Comme le Visual Basic est avant tout "visuel", la programmation est longue mais pas trop difficile à faire. On peut ensuite ajouter des ronds que l'on colorie dans la couleur du feux que l'on vient d'actionner, etc....
Enfin pour éviter les accidents (2 locos se suivant par exemple), on ralentit ou stoppe la loco qui est sur le canton 5 s'il y a une loco sur le canton 6 ou 7.
Encore une fois j'ai essayé de tout faire avec un investissement financier mini. Le SPROG est super pour ce genre d'utilisation. J'ai acheté les relais 12V et 2 cartes perforées pour les enficher sur les Arduino (ainsi que qulques CI) mais tous mes connecteurs et câbles sont de la récup de matériel de PC.
Pour le résultat final de tout cela, voir la réponse que je vais faire à Rodolphe.
A ta disposition