Je suis modéliste ferroviaire et construit de A à Z mes modèles en zéro (chacun me demande environ 4 ans). Sans réseau, j’ai souhaité réaliser un va et vient pour les animer sur un bout de rail. J’ai monté il ya deux mois un petit automatisme sur une base Arduino UNO, + LMD 18200 + MAX471 + 2 petits capteurs à ultrason, que j’ai fait marcher en analogique (à 66KHz en Fast PWM) . Fort de ce succès et ayant pris connaissance des articles traitant du logiciel DCC++ et de certaines des réalisations associées, notamment un article complet traitant de la réalisation d’ « un va et vient automatique et réaliste », j’ai entrepris d’implanter dans mon électronique décrite ci-dessus son homologue digital.
Dans mes attentes, je recherchais un logiciel qui ne m’oblige ni à tout réécrire, ni a devenir un expert en C++ comportant une procédure d’implémentation et la liste des commandes pour y accéder. Mes difficultés rencontrées ont été les suivantes : Sur le premier point beaucoup d’articles mentionnaient DCCpp.h et me renvoyaient sur le site GitHub où effectivement bien des noms utilisent le terme DCCpp. J’ai finalement trouvé un DCCpp.h au fond d’un dossier zip DcDccNanoControleur. Pour son implantation, j’ai suivi les indications des articles Locoduino. Ils mentionnent l’usage de la « libraries » Arduino sous Windows et les options d’installation présentes dans les commandes d’en tête du logiciel IDE. Pour l’utilisation de ce logiciel, après des hésitations et des tâtonnements, j’ai finalement identifié une dizaines d’ordres dutype : DCCpp :: begin() , DCCpp :: beginMain(), DCCpp :: loop(), DCCpp :: identifyLocoIdMain(), DCCpp :: setSpeedMain(),.. et leurs homologues Prod. Aujourd’hui, mon automatisme fonctionne (la partie des fonctions de l’automatisme est pratiquement reprise à l’identique de sa version analogique). Cependant des points ne marchent pas. Les commandes DCCpp ::identifyLocoIdMain(), DCCpp ::readCvMain() ne marchent pas et pourtant lors de mes hésitations sur la chargement de tel ou tel autre logiciel à télécharger, ces commandes ont fonctionnées et notamment j’ai pu vérifier que le contenu des CV de mon décodeur Hornby à 20€ était conforme à la notice du fabriquant. La commande DCCpp ::setSpeedMain() marche et a toujours marché. Je suspecte des versions logicielles chargées inadaptées, ou incorrectement chargées. L’inexpérience de mes premiers pas dans ce domaine y est bien sûr pour quelques choses. Quelqu’un pourrait-il m’aiguiller sur une démarche pour rectifier ce point. Quoiqu’il en soit je salue et remercie les rédacteurs des différents articles traitant du sujet DCC++. Sans eux je ne me serais certainement pas lancé dans cette aventure.