LOCODUINO

Ma première centrale DCC

Ma première manette DCC (1)

.
Par : msport

DIFFICULTÉ :

Ca y est : Ma première centrale DCC fonctionne, elle a été testée, elle a pu lire l’adresse d’une locomotive et même faire démarrer cette locomotive depuis le Moniteur Série de l’IDE de l’Arduino. Vous avez eu envie de la faire fonctionner avec JMRI mais cela mobilise un ordinateur ou un Raspberry.
Cet article se propose de décrire les éléments d’une manette basique pour utiliser Ma première centrale DCC en autonomie, sans ordinateur ou Raspberry. Manette simplissime, elle reste liée à la patte de sa centrale.
Le sans fil (radio) est prévu dans un deuxième temps mais c’est plus compliqué.

Dans le cahier des charges,

  • l’utilisation d’un programme tout fait, sans modification.
  • un coût minimal
  • pas de fer à souder, et donc pas de soudures
  • du matériel que l’on trouve facilement
  • pas d’intervention sur le matériel
  • un montage qui prend 30 mn
  • et qui fonctionne en autonome sans ordinateur
  • mais filaire de base. (radio à venir)

Prérequis :

  • connaître les bases de la gestion des fichiers de votre ordinateur
  • savoir télécharger des fichiers et les décompresser
  • et donc savoir les placer au bon endroit
  • savoir utiliser l’IDE Arduino pour charger un programme sur une carte Arduino
  • savoir installer une bibliothèque
  • savoir lire un schéma simple.
  • et quand même avoir entendu parler de DCC, de DCC++ et de ses avatars.

Principe de fonctionnement

Cet article est la reprise d’un article de Dave Bodnar (datant du 16 juin 2016) qui a eu la gentillesse de répondre au message lui indiquant qu’on adaptait son montage.
http://trainelectronics.com/DCC_Ard...
Nota : en anglais, throttle veut dire accélérateur (mettre les gaz)
Voir l’adaptation de ce projet à la figure 1. Un Nano remplace le Pro Mini, ce qui permet la connexion directe du clavier.

Comme indiqué dans l’article Ma première centrale DCC la mini centrale en question peut être pilotée par n’importe quel dispositif envoyant les codes DCC++ sur l’entrée RX de l’Arduino UNO.

C’est le cas du présent montage qui utilise un Arduino Nano pour générer les codes correspondant aux commandes créées à partir d’un encodeur pour la vitesse et le sens, et à partir d’un clavier 12 touches (3x4) pour les fonctions (de 0 à 9) et les envoyer à la centrale.

Possibilités de cette manette :

Cette manette permet de conduire au choix de une à quatre locomotives. On peut en modifier l’adresse à tout moment (donc piloter entièrement votre parc de 200 locomotives). Ces adresses sont stockées dans l’Arduino Nano et sont donc conservées après coupure de l’alimentation.
Les adresses des locomotives sont saisies avec le clavier 3x4. (Noter qu’on ne modifie pas les CV des locomotives)

L’écran LCD permet d’afficher la vitesse de la locomotive en cours, sa direction, son adresse DCC, et l’état de ses fonctions.

Trois fils relient la manette au contrôleur DCC++ : Vin, GND et données :
Les Vin et GND sont reliés respectivement et le RX du Nano va au TX du UNO.

Matériel nécessaire :

Un Arduino Nano (broches soudées avec ICSP)
Un écran LCD 16x2 avec interface I2C
Un module codeur rotatif + bouton
Un clavier 3x4 en matrice
9 câbles DuPont femelle / femelle 10 cm
3 câbles DuPont femelle / mâle 20 cm

JPEG - 153.1 kio
JPEG - 154 kio

Notez le circuit d’interface I2C au dos de l’afficheur LCD et le potentiomètre (cube bleu) pour ajuster le contraste.

Réalisation :

Figure 1
Figure 1

On câble :

DuPont femelle / femelle sauf pour l’alimentation depuis le UNO de la centrale : mâle / femelle

le clavier : Pour éviter d’inverser le connecteur du clavier, il faut que le coté du connecteur repéré par un minuscule triangle (correspondant au contact 1 de la nappe) soit enfiché broche 5 et que le coté opposé soit enfiché broche 11. Le coté du contact 1 correspond aux touches 1, 4, 7 et *. (voir Figure 1)

le codeur rotatif : juste à coté SW → 4, puis DT → 3 et CLK → 2
Le guide de la nappe plate du codeur peut gêner un peu pour la pin 4, l’incliner légèrement pour la mise en place.
Comme on manque de broches, on utilise les broches VCC et et GND du connecteur ICSP :
Le VCC, broche 2 de l’ICSP est du coté du Vin, et le GND broche 6 de l’ICSP est du coté du TX, les deux sont sur la rangée de trois broches coté intérieur du Nano.

Connecteur ICSP sur Nano
Connecteur ICSP sur Nano

l’afficheur LCD : on peut utiliser la rangée de pins du Nano avec les entrées analogiques (A0 .. A7) puisqu’il y a 5V et GND au bout. Donc GND → GND, VCC → 5V, SCL → A5, SDA → A4.

l’alimentation : on alimente le Nano via son Vin à partir du Vin du UNO.
Donc GND → GND, Vin → Vin, TX (Nano)→ RX(UNO)

JPEG - 135.7 kio

Programmation :

Vous avez déjà installé l’IDE Arduino avec l’article Ma première centrale DCC
et savez Installer une bibliothèque.
Vous placez le répertoire du programme décompressé dans votre répertoire de sketches. (ci-dessous) et vous double-cliquez sur throtlle00.ino.
Télédeversez le dans votre Nano.

Programme Throttle

Vous devez avoir installé les bibliothèques :

  • Wire
Wire.zip
  • LiquidCrystal2
LiquidCrystal.zip

qui contiennent :

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

Vous pouvez constater un conflit causé par la liaison série entre le Nano et le UNO. Si vous avez ce problème qui se traduit par l’échec du téléversement du sketch, il faut débrancher la liaison série vers le UNO avant de le lancer.

Dave Bodnar propose à ceux qui ont des difficultés avec les bibliothèques nécessaires pour ce montage le téléchargement de celles qu’il a utilisées avec succès, dont sont extraites celles ci-dessus.

Utilisation :

Allumez l’alimentation et vous verrez l’écran d’accueil :

JPEG - 171.3 kio

Bon, si vous ne voyez rien, c’est peut-être normal. Regardez l’écran légèrement incliné et vous devinerez éventuellement le texte. Il s’agit simplement du réglage du contraste avec le petit ajustable au dos de l’écran. Essayez de le régler. De toute manière, c’est à faire pour avoir une lecture optimale.
Si vous n’avez vraiment pas de chance, il se peut que l’adresse I2C de votre écran ne soit pas 0x3F prévue dans le programme mais 0x27. Vous pouvez faire la modification vous-même en recherchant 0x3F et en le remplaçant par 0x27.

Ce premier écran est suivi de cet autre :

JPEG - 193.5 kio

La manette peut gérer jusqu’à 4 locomotives. On utilise la touche # pour changer la locomotive contrôlée. Si vous n’utilisez que 2 locomotives, il peut devenir fastidieux d’appuyer plusieurs fois sur le bouton # pour ignorer les adresses de locomotive inutilisées. Pour éviter ce problème, vous pouvez limiter le nombre de locomotives que la manette contrôlera à 4, 3, 2 ou 1. Pour effectuer ce changement, appuyez sur le bouton de l’encodeur rotatif lorsque vous allumez la manette. Le nombre d’adresses actives s’affichera et il vous sera demandé d’appuyer sur 1, 2, 3 ou 4 sur le clavier pour définir le nouveau nombre de locomotives. Le nombre d’adresses actives que vous choisissez sera stocké dans la manette et sera conservé jusqu’à ce que vous le changiez.

Appuyez sur le bouton # à droite pour sélectionner l’une des 4 adresses de locomotives qui peuvent être stockées. Sur la photo ci-dessous, la locomotive 4 a été choisie. Avant utilisation, les adresses stockées valent 255.

JPEG - 230.6 kio

Appuyez sur le bouton * à gauche pour entrer l’adresse de la locomotive à 4 chiffres. Notez que les 4 chiffres doivent être entrés. Par exemple pour l’adresse 12 appuyez sur puis puis 1 puis 2.

JPEG - 186.4 kio

Tournez le bouton du codeur vers la droite (dans le sens des aiguilles d’une montre) pour augmenter la vitesse vers l’avant ou vers l’arrière. Appuyez sur le bouton du codeur pour inverser le sens de la locomotive.

JPEG - 162.1 kio

Cet écran montre que la vitesse V est de et la direction > est vers l’avant. La locomotive est la n°4 et son adresse est 12

JPEG - 174.4 kio

Ici la locomotive #1, avec l’adresse 68, avance > à une vitesse de (à l’arrêt).

Appuyer sur le bouton * éteindra le contrôleur en arrêtant tous les trains. Dès que vous démarrerez un train avec le codeur, le courant sera rétabli.

Les fonctions sont commandées par le clavier avec un décalage :
F0 par 1 jusqu’à F8 par 9. La rangée de 0 sur le LCD reflète la position des fonctions.

Où acheter :

Où acheter ? une liste de fournisseurs, et ci-dessous des liens directs :

Problèmes potentiels et limites :

On utilise ici des câbles DuPont. Ils ont la fâcheuse tendance à sortir de leur logement sans prévenir surtout si ils sont utilisés plusieurs fois. Il faut donc les surveiller de près.
Par ailleurs du fait de l’utilisation de la liaison série, on ne dispose que d’une manette.

Un exemple d’intégration :

L’ensemble pourra être mis dans un boitier 145x68x35, découpe et perçage requis.
La face inférieure du clavier est adhésive.

JPEG - 95.7 kio
JPEG - 127.6 kio

Évolution de cette manette :

Vous reconnaitrez le principe de cette manette dans Une manette simple et autonome pour LaBox, plus élaborée, mais tout à fait capable de fonctionner avec Ma première centrale DCC. Vous aurez peut-être envie de la réaliser.

Les difficultés que vous pouvez rencontrer :

  • les fils DuPont qui ne tiennent pas bien lors des manipulations.
  • les bibliothèques qui ont évolué.
  • l’adresse de votre écran oled qui diffère de celle du programme.

20 Messages

  • Ma première manette DCC (1) 12 mars 2022 20:35, par Likiki

    Bonjour,

    Superbe montage.

    J’aurais quelques questions.

    1) Pourquoi seulement 4 machines ?

    2) Pourquoi utiliser un clavier ?

    Amicalement,
    Christian

    Répondre

  • Ma première manette DCC (1) 12 mars 2022 21:31, par msport

    Bonsoir,
    Merci, le mérite en revient à Dave Bodnar.
    1) Objectivement, cela ne présente pas d’intérêt puisqu’à tout moment on peut modifier l’adresse de chacune des quatre locomotives. Déjà jongler avec deux locomotives est délicat. Par ailleurs, comme on verra au prochain numéro, je pense que la vocation de ce type de manette est de piloter une locomotive chaque et d’avoir plusieurs manettes.
    2) plutôt que ? ... pour entrer des chiffres.
    Amicalement,

    Répondre

  • Ma première manette DCC (1) 4 avril 2022 08:15, par jpb49

    Bonjour,
    je viens de câbler la manette et le bouton encodeur ne fonctionne pas. Je vois sur le schéma de câblage qu’une résistance pullup (R1) de 10K est câblée sur le switch et non présente sur mon kit. Doit-elle être câblée ? pouvez-vous me confirmer sa présence sur le vôtre ?
    Merci de votre retour

    Répondre

    • Ma première manette DCC (1) 4 avril 2022 10:35, par msport

      Bonjour,

      regardez votre module encodeur, est-ce qu’il est comme la photo sur le forum avec les explications.

      Cordialement

      Voir en ligne : Dépannage première centrale, première manette

      Répondre

      • Ma première manette DCC (1) 4 avril 2022 13:23, par jpb49

        Bonjour,
        Non il n’est pas comme sur la photo du forum. Les trois plages d’accueil sont placées différemment et je n’ai que R2 et R3 de câblées. J’ai donc posé une 10K sur R1, ça fonctionne.
        Il a fallu également que j’inverse DT et CLK pour que ça fonctionne dans le bon sens sinon il fallait tourner le bouton dans le sens inverse pour augmenter la vitesse.

        Question subsidiaire que je n’ai pas encore tenté. Je souhaite me servir de cette manette pour me déplacer éventuellement sur mon réseau. Est-elle compatible avec "la station complète avec JMRI" et ne risque-t-elle pas des problèmes de com avec le port USB relié à mon PC/JMRI

        Voir en ligne : station complète et polyvalente...

        Répondre

  • Ma première manette DCC (1) 8 mai 2022 13:55, par Arturo

    Bonjour
    J´ai une centrale DCC++Ex avec Arduino Mega. Cette manette peut-elle fonctioner ?
    Merci

    Répondre

    • Ma première manette DCC (1) 8 mai 2022 17:16, par msport

      Bonjour,
      pourquoi pas, c’est vous qui nous le direz.
      Cordialement

      Répondre

      • Ma première manette DCC (1) 23 janvier 2023 20:15, par Jean-Baptiste

        Réponse à la question ancienne : oui :)
        Et même, dans mon cas, DCC++ ne fonctionne pas alors que DCC-EX, oui.
        Par contre, je n’ai pas trouvé la touche pour la commande light.

        Répondre

        • Ma première manette DCC (1) 23 janvier 2023 20:56, par msport

          Bonjour,
          comme indiqué en début d’article, la centrale qui a servi pour les tests est la BaseStation originale de Gregg Berman, non modifiée. Et les ordres sont pur DCC++.
          Les commandes des feux sont propres à chaque décodeur et sont d’ailleurs transposables par CV.
          Si ce n’est pas F0, ce peut être F5, reportez vous à la notice de votre décodeur, les feux AV et AR sont peut-être indépendants ou liés au sens de marche.
          Et si vous avez des doutes, montez vous un sniffer.

          Répondre

          • Ma première manette DCC (1) 23 janvier 2023 23:14, par Jean-Baptiste

            Merci pour l’information, c’est effectivement la fonction F5 qui correspond à l’état des feux. C’est assez déstabilisant, parce-que que la notice Lenz indique F0 pour cela.
            DCC-EX respecte les syntaxes de DCC++, tout en étant plus simple à installer pour moi et en apportant plus de fonctionnalités. La documentation est aussi assez claire et complète.

            Répondre

  • Ma première manette DCC (1) 9 novembre 2022 11:00, par Arturo

    Bonjour

    Est-il possible de connecter plusiers manettes à une centrale DCC++ avec Arduino Mega ?

    Merci

    Répondre

  • Ma première manette DCC (1) 9 novembre 2022 17:28, par msport

    Bonjour,
    oui, même avec un UNO.
    C’est expliqué dans l’article suivant :

    Voir en ligne : Ma première manette DCC (2)

    Répondre

  • Ma première manette DCC (1) 27 novembre 2022 17:32, par auzereau alain

    bonjour,apres avoir realiser la centrale dcc++,la telecommande infrarouge,puis je souhaite realiser cette manette avec mon uno et l alimenter comme prevu avec le nano ?,j ai aussi fait la detection courant,le dedcodeur dcc.un grand merci pour vos articles .pouvez vous me confirmer que c est possible.
    Alain

    Répondre

  • Ma première manette DCC (1) 27 novembre 2022 18:40, par msport

    bonjour,
    les UNO et Nano sont fonctionnellement équivalents, vous pouvez leur faire jouer le rôle que vous voulez.
    Mais pour vous éviter des difficultés pratiques, on ne peut que vous recommander de réaliser le montage tel qu’il est décrit.
    Cordialement

    Répondre

    • Ma première manette DCC (1) 28 novembre 2022 11:35, par Auzereau Alain

      bonjour
      merci de votre réponse rapide,je vais réaliser suivant vos conseils,
      grasse à locoduino,mon niveau monte...et la motivation avec.
      Alain

      Répondre

  • Ma première manette DCC (1) 1er décembre 2022 00:37, par AUZEREAU Alain

    Bonsoir :soucis :je ne peut compiler,problème bibliothèque ?,leur emplacement ?,(je vois qu elles sont incluse à l intérieur du code ?
    ce code a t’il fonctionné.pour la première fois je bute.
    merci de m ’apporter votre éclairage.
    Alain

    Répondre

  • dépannage de Ma première manette DCC 1er décembre 2022 18:26, par msport

    Bonjour,

    merci de poster sur le forum pour du dépannage.

    Cordialement

    Voir en ligne : dépannage de Ma première manette DCC

    Répondre

  • Ma première manette DCC (1) 19 novembre 2023 16:36, par DUBOIS 30

    bonjour Monsieur, j’ai construit votre manette ,j’ai un petit problème la vitesse reste toujours a : 00 sur l’écran LCD lorsque je tourne l’encodeur les autres fonctions marche pouvez vous m’aiguillé merci beaucoup super projet !!

    Répondre

  • Ma première manette DCC (1) 19 novembre 2023 18:12, par msport

    Bonjour,
    comme dit dans le message précédent, merci de poster sur le forum pour du dépannage. Vous pourrez poster des photos.
    Cordialement

    Voir en ligne : Dépannage de Ma première manette DCC

    Répondre

Réagissez à « Ma première manette DCC (1) »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Matériel »

Les derniers articles

Les articles les plus lus