Mon réseau T-Trak comportant maintenant 13 aiguillages, le pilotage de ces accessoires via la Multimaus n’est pas vraiment simple. De plus mon module de dépôt doit participer à une exposition et sera donc exploité par de nombreux modélistes différents. Pour faciliter les manipulations j’ai donc cherché à faire un TCO.
J’ai trouvé sur le net plusieurs sources d’informations pour réaliser un TCO qui se branche comme une “souris esclave” sur la centrale ROCO en étant connecté au bus Xpressnet. Pour réaliser ceci un arduino mega 2560 est utilisé.
Voici donc pour commencer mes sources de travail:
C’est sur ce dernier site que j’ai trouvé le document .pdf le plus compréhensible pour réaliser le TCO et le programme .ino pour l’arduino avec seulement quelques variables à modifier.
En recherchant un Max485 pour réaliser le montage de l’interface série j’ai trouvé sur le net des petits modules RS-485 tout prêt pour arduino.
J’en ai donc acheté un et ai décidé de l’utiliser pour ce TCO afin de simplifier encore plus le montage.
On peut trouver de la documentation sur ce module assez facilement par exemple ici.
Je vous propose de vous faire part de mon expérience. En effet j’ai réalisé un petit schéma de câblage de l’arduino mega 2560 avec ce module RS485 TTL directement utilisable avec le programme de l’UAICF.
J’ai utilisé une rallonge RJ12 de chez Leroy Merlin sur laquelle j’ai coupé une des prises. Après avoir branché ce câble sur la centrale allumée, j’ai repéré les fils de masse et de +12v en provenance de la prise slave de la centrale ROCO grâce à un multimètre.
Voici le détail des branchements pour la communication entre la centrale ROCO et l’Arduino:
Masse du câblage RJ12 sur borne GND du module
+12V du câblage RJ12 sur borne VIN de l’arduino mega
Fils de données A et B du câblage branchés sur le bornier vert à vis en A et B (intervertir l’ordre si la communication avec la centrale ne se fait pas. On peut aussi ajouter une résistance de 120 Ohm entre les bornes pour déparasiter le signal.)
Borne RO du module connectée à la pin 19 (RX1) de l’arduino
Borne DI du module connectée à la pin 18 (TX1) de l’arduino
Bornes DE et RE reliées ensemble vers la pin 3 de l’arduino conformément au programme del’UAICF (une résistance de 470 Ohm et une diode branchés entre le +5v et le fil permettent de contrôler la bonne connexion de la sortie avec l’arduino)
Connexion des interrupteurs de commande:
Pour le contrôle des différents aiguillages j’ai choisi d’utiliser des interrupteurs à leviers ON-ON (mais on peut aussi utiliser 2 boutons poussoirs par aiguille). Ces interrupteurs sont montés avec une résistance de 10KOhm en mode PULL-UP sur les entrées de l’arduino:
Un coté de la résistance est connecté au +5v
l’autre coté sur une des bornes de l’interrupteur.
cette même borne est connecté à une pin d’entrée de l’arduino
la deuxième borne de l’inter est relié à la masse de l’arduino
Dans le programme on définit les adresses DCC des aiguilles et les entrées correspondantes des inter sur l’arduino. Il faut aussi installer la librairie Xpressnet.
//**************************************************//
// //
// Programme pour réaliser le TCO //
// du pupitre DEMO //
// avec carte Arduino MEGA 2560 //
// //
// TCO pour module Demo Aiguillage //
// //
// UAICF Nevers-Vauzelles //
// http://modelisme58.free.fr //
// //
// Novembre 2015 - Vers 1.3 //
// //
//**************************************************//
//-------------------------------------------------------------------------
// Bibliothèques nécessaires
//----------------------------------------------------------------------------
#include <XpressNet.h>
XpressNetClass XpressNet;
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define SerialDEBUG 1 //For Serial Port Debugging (Arduino Mega only)
#endif
#if SerialDEBUG
#include <SoftwareSerial.h>
SoftwareSerial Debug(0, 1); // RX, TX - Mettre sur 0 et 1 pour MEGA 2560
#endif
//-------------------------------------------------------------------------
// /|\ Variables à modifier ----------------------------------------------- /|\
// Définition des adresses des aiguillages et entrées utilisés sur la carte Arduino MEGA
int Aig[] = { 0,1}; // Adresse DCC des aiguillages, la premiere adresse 0 correspond arret d'urgence
int Bt[] = {23,24}; // Bornes de la carte ARDUINO
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d'aiguillages commandés par Bouton Poussoir
int NbreLevier = 1; // Nbre d'aiguillages commandés par Bouton Levier
#define XNetAddress 15 // Adresse de la souris XpressNet : 2 souris Xpressnet ne pourront pas avoir la même adresse
// Valeur entre 1 et 31
// /|\ Fin des variables à modifier --------------------------------------- /|\
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Définition des variables et constantes
int BtEtat[100] ;
int BtEtatAncien[100] ;
byte Led = 13;
int DCCEtat;
long previousMillis = 0;
#define XNetSRPin 3 // Max485 Bus du driver relié à la borne de l'Arduino
//-------------------------------------------------------------------------
// Initialisation du programme
void setup() {
delay(1000);
NbreBoutons = NbrePoussoirs + NbrePoussoirs + NbreLevier + 1;
for (int i=0; i < NbreBoutons; i++)
{
BtEtat[i] = 2;
BtEtatAncien[i] = 1;
pinMode(Bt[i], INPUT_PULLUP);
}
pinMode(Led, OUTPUT);
delay(100);
Serial.begin(9600);
Serial.println("UAICF Nevers-Vauzelles - http://modelisme58.free.fr");
Serial.println("Octobre 2015 - Vers 1.2");
XpressNet.start(XNetAddress, XNetSRPin);
XpressNet.setPower(csNormal);
Serial.print(" --> Etat Centrale DCC = ");
Serial.println(XpressNet.getPower());
Serial.println("");
for (int i=0; i < NbreBoutons; i++)
{
BtEtat[i] = digitalRead(Bt[i]);
Serial.print(" Borne Arduino : "); Serial.print(Bt[i]); Serial.print(" | Etat = "); Serial.println(BtEtat[i]);
delay (10);
}
XpressNet.receive();
Serial.println("--- Initialisation des positions des Aiguillages avec bouton a levier uniquement ---");
// Uniquement pour les aiguillages commandés par un bouton à levier
for (int i = NbrePoussoirs*2 +1; i < NbrePoussoirs*2 + NbreLevier +1; i++)
{
if (BtEtat[i] != BtEtatAncien[i])
{
Serial.print(" Aiguillage ayant l'adresse DCC "); Serial.print(Aig[i]);
Serial.print(" (Borne "); Serial.print(Bt[i]);
BtEtatAncien[i] = BtEtat[i] ;
XpressNet.setTrntPos (0x0, Aig[i]-1, BtEtat[i] );
delay (200);
XpressNet.setTrntPos (0x0, Aig[i]-1, BtEtat[i] );
delay (750);
}
}
Serial.println("--- Fin Initialisation des positions des Aiguillages ---");
Serial.println("--- Fin initialisation du programme ---"); Serial.println(" ");
digitalWrite(Led, HIGH);
}
//-------------------------------------------------------------------------
// Programme fonctionnant en boucle
void loop() {
// Récupére l'état des entrées
for (int i=0; i < NbreBoutons; i++)
{
BtEtat[i] = digitalRead(Bt[i]);
delay (1);
}
XpressNet.receive();
unsigned long currentMillis = millis();
// --- Commande pour Arret d'Urgence --------------------------------------------
if (BtEtat[0] == 0 && DCCEtat == 0)
{
XpressNet.setHalt();
delay (500);
if (DCCEtat == 0)
{
digitalWrite(Led, LOW);
Serial.println(" ");
Serial.println(" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
Serial.println(" !!! --- Arret d'Urgence --- !!! ");
delay (1000);
previousMillis = currentMillis;
}
}
if (BtEtat[0] == 0 && DCCEtat > 0 && (currentMillis - previousMillis > 5000) )
{
XpressNet.setPower(csNormal);
delay (500);
if (DCCEtat > 0)
{
digitalWrite(Led, HIGH);
Serial.println(" ");
Serial.println(" --- DCC Ok --- ");
previousMillis = currentMillis;
}
}
// Envoie de la commande DCC pour accessoires si changement de l'état des entrées
if (DCCEtat ==0) // Si pas d'arrêt d'urgence d'enclenché
{
// --- Commande pour Boutons à levier --------------------------------------------
for (int i = NbrePoussoirs*2 +1; i < NbrePoussoirs*2 + NbreLevier +1; i++)
{
if (BtEtat[i] != BtEtatAncien[i])
{
Serial.print("Aiguillage ayant l'adresse DCC "); Serial.print(Aig[i]);
Serial.print(" (Arduino "); Serial.print(Bt[i]);
BtEtatAncien[i] = BtEtat[i] ;
XpressNet.setTrntPos (0x0, Aig[i]-1, BtEtat[i] );
delay (10);
}
}
// --- Commande pour Boutons Poussoirs --------------------------------------------
// Commande Position 1
for (int i=1; i < NbrePoussoirs*2 +1; i=i+2)
{
if (BtEtat[i] != BtEtatAncien[i] && BtEtat[i] == 0 && BtEtat[i+1] == 1)
{
Serial.print("Aiguillage ayant l'adresse DCC "); Serial.print(Aig[i]);
Serial.print(" (Arduino "); Serial.print(Bt[i]);
BtEtatAncien[i] = 0;
BtEtatAncien[i+1] = 1;
XpressNet.setTrntPos (0x0, Aig[i]-1, 0 );
delay (1);
}
}
// Commande Position 2
for (int i=2; i < NbrePoussoirs*2 +2; i=i+2)
{
if (BtEtat[i] != BtEtatAncien[i] && BtEtat[i] == 0 && BtEtat[i-1] == 1)
{
Serial.print("Aiguillage ayant l'adresse DCC "); Serial.print(Aig[i]);
Serial.print(" (Arduino "); Serial.print(Bt[i]);
BtEtatAncien[i] = 0;
BtEtatAncien[i-1] = 1;
XpressNet.setTrntPos (0x0, Aig[i]-1, 1 );
delay (10);
}
}
}
// Fin de l'envoi de la commande DCC pour accessoires si changement de l'état des entrées
}
//-------------------------------------------------------------------------
// Message pour débogage
void notifyTrnt(uint8_t Adr_High, uint8_t Adr_Low, uint8_t Pos)
{
Serial.print(") ---> Position = ");
Serial.println(Pos, DEC);
}
//-------------------------------------------------------------------------
void notifyXNetPower (uint8_t State)
{
Serial.print(" --> Etat Centrale DCC = ");
Serial.println(State, HEX);
DCCEtat = State;
}
TCO Xpressnet
Il y a quelques paramètres à modifier qui sont clairement expliqués dans le code et dans le fichier pdf édité par l’UAICF. Voici ceux correspondant à mes besoins pour exemple:
//-------------------------------------------------------------------------
// /|\ Variables à modifier ----------------------------------------------- /|\
// Définition des adresses des aiguillages et entrées utilisés sur la carte Arduino MEGA
int Aig[] = { 0,10,12,20,21,22,23,24,25,30,31,32,33,34}; // Adresse DCC des aiguillages
int Bt[] = {23,24,25,26,27,28,29,30,31,32,33,34,35,36}; // Bornes de la carte ARDUINO
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d'aiguillages commandés par Bouton Poussoir
int NbreLevier = 13; // Nbre d'aiguillages commandés par Bouton Levier
#define XNetAddress 15 // Adresse de la souris XpressNet : 2 souris Xpressnet ne pourront pas avoir la même adresse
// Valeur entre 1 et 31
// /|\ Fin des variables à modifier --------------------------------------- /|\
//-------------------------------------------------------------------------
variables à modifier
Réalisation du T.C.O
J’ai trouvé chez Cultura une boite à thé en bois avec 6 compartiments parfaitement adaptée à mon projet. Elle a la taille d’une feuille A5. J’ai donc dessiné mon TCO au format vectoriel avec l’emplacement des interrupteurs.
Une fois la feuille imprimée je l’ai collée avec un vernis colle pour papier.
Ensuite j’ai percé l’emplacement des leviers.
J’ai enfin pût m’atteler au câblage de mes 15 interrupteurs ce qui m’a pris une bonne après-midi !!
Lors des essais du TCO, si la position d’un interrupteur est inversée par rapport à la position de l’aiguillage souhaitée, il suffit de changer le fil de masse sur l’autre borne de l’interrupteur étant donné que j’ai câblé les +5v sur la borne centrale des interrupteurs.
Il me reste un dernier détails qui ne fonctionne pas, en effet impossible d’actionner un aiguillage kato relié à un décodeur digitrax DS51K1. J’arrive à changer l’adresse du décodeur via le TCO, mais l’aiguillage n’est pas actionné !!
Si quelqu’un a une idée à me soumettre cela serait bien.
Pour finir voici une petite vidéo de présentation:
Je possède moi meme la centrale 10761 + multimaus v1.0.
Avez vous essayer de permuter les fils A et B sur le bus xpressnet c’est ce qui m’a posé quelques problèmes, trouver le bon sens de connexion de ces fils.
avec mon montage, lorsque je lance le moniteur série de l’arduino, j’ai bien :
–> Etat Centrale DCC = 2
–> Etat Centrale DCC = 0
lorsque j’appui sur “STOP” de la multimaus.
si j’inverse A et B, je n’ai plus rien dans le moniteur série.
je pense donc que le sens de mon montage est le bon.
je pensais que mon soucis venait de la version 1.0 (pas a jour de la version 1.4) de la multimaus
coté aiguillage, j’utilise un décodeur ROCO 61196.( peut être un soucis avec mais je ne vois pas.)
j’ai lu qu’il fallait décaler les adresses de 4 pour la multimaus par rapport a l’intellibox, alors j’ai essayé, mais cela n’a rien donné non plus.
si vous avez d’autres idées je prends car cela fait longtemps que j’essai de faire fonctionner cette solution ( UAICF ou Nicolas Zin) mais toujours sans succès.
J’ai réalisé le montage mais j’ai un petit soucis peut être aurai tu la réponse à mon problème.
Lorsque je modifie la position de l’aiguillage via la commande Roco l’aiguillage bouge.
lorsque j’actionne le levier l’état de l’aiguillage change sur la central mais pas sur le réseau.
I’m working with this development, runs properly with ROCO multimauls.
But if I use a LENZ LZV100 central, doesn’t run, the status of central is show but no order is sent to the eaccesories.
Have you any idea about this?
Thanks in advance for your help
J’ai une doute, dans l’assemblage TCO, tu bouges le servomoteur mais j’ai pas vu la conexión avec le Arduino Mega.
Est ce que tu peut m’indiquer comme tu les bouges? Ou vraiment tu les bouges avec le Arduino Mega?
Merci beaucoup, avec mes sinceres salutations.
L’arduino Méga du tco récupère les informations des switch et les codes en langage xpressnet pour la centrale Roco.
Il est connecté à la centrale comme une commande à main. C’est ensuite la centrale qui envoie les infos aux decodeurs accessoires des servos
Merci beaucoup pour la clarification.
Je ferai l’assemblage quand j’aurai l’electronique. Si j’ai quelque doute je te posserais la question.
Merci et salut!
J’ai un probleme, j’arrive pas avoir des comunications avec l’arduino. Les Leds TX-RX sont éteint, le program est le example de 2 boutons poussoirs de la web.
Les conections que j’ai fait sont comme l’image de la web avec la carte Max 485. Les conections de comunications je les ai fait avec le pin 0,1 du Arduino TX0-RX0.
SoftwareSerial Debug(0, 1); // RX, TX – Mettre sur 0 et 1 pour MEGA 2560
Est ce que je dois modifiquer int NbreBoutons, int NbrePoussoirs avec valeur 2?
int Aig[] = {47,48}; // Adresse DCC des aiguillages, la premiere adresse 0 correspond arret d’urgence, 0,1
int Bt[] = {23,24}; // Bornes de la carte ARDUINO Bonjour, finalement j’ai reçu le material, l’arduino et la carte Max485.
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d’aiguillages commandés par Bouton Poussoir
int NbreLevier = 1; // Nbre d’aiguillages commandés par Bouton Levier
Est ce que vous pouvez me dire si j’ai dois changer quelque chose?
Merci beaucoup.
Bonjour, finalement j’ai reçu le material, l’arduino et la carte Max485.
J’ai un probleme, j’arrive pas avoir des comunications avec l’arduino. Les Leds TX-RX sont éteint, le program est le example de 2 boutons poussoirs de la web.
Les conections que j’ai fait sont comme l’image de la web avec la carte Max 485. Les conections de comunications je les ai fait avec le pin 0,1 du Arduino TX0-RX0.
SoftwareSerial Debug(0, 1); // RX, TX – Mettre sur 0 et 1 pour MEGA 2560
Est ce que je dois modifiquer int NbreBoutons, int NbrePoussoirs avec valeur 2?
int Aig[] = {47,48}; // Adresse DCC des aiguillages, la premiere adresse 0 correspond arret d’urgence, 0,1
int Bt[] = {23,24}; // Bornes de la carte ARDUINO
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d’aiguillages commandés par Bouton Poussoir
int NbreLevier = 1; // Nbre d’aiguillages commandés par Bouton Levier
Est ce que vous pouvez me dire si j’ai dois changer quelque chose?
Merci beaucoup.
Bonjour Max.
Désolé de ne pas avoir répondu avant et pour mon français.
Oui, à la fin je l’ai eu.
La carte de communication est celle faite avec un MAX 485, le schéma peut être trouvé sur Internet, si vous ne le trouvez pas, dites-le moi, avec le schéma du WEB, je n’ai pas pu communiquer.
Les LED de l’Arduino RX-TX ne s’allument pas.
La connexion du RX-TX dans le Arduino Mega je l’ai fait dans les broches 18-19, si cela ne fonctionne pas, il échange les broches (19-18).
Dans le programme, j’ai changé cette valeur, mais cela ne devrait pas affecter.
L´Original 3 je l’ai modifié à 9, et sur la carte Arduino j’ai également épinglé 9
#define XNetSRPin 9 // Relais de bus de pilote Max485 vers le terminal Arduino // 3
Hola buenas noches, he hecho el momtaje basandome en los datos de esta web y no hay manera que se muevan los servos.
Mi pregunta es si ha funcionado bien alguna vez?. y si han hecho alguna actualización.
Los leds de Tx y Rx tampoco se me encienden.
Me pueden informar que me puede pasar, tengo interes en hacerlo funcionar el TCO.
Estoy intentando hacer funcionar el TCO con arduino de la web Sam y no hay manera de que se muevan los servos, veo que estos comentarios son de hace mucho tiempo, habran hecho alguna modificació ?
He conseguido que el led de Rx este parpadeando pero no hay manera de mover servos.
Mi central es una multimaus con booster 10764.
Me gustaria poder disponer de este tco se lo agradeceria su ayuda.
Bonjour Sam,
J’essaie de faire fonctionner le TCO sans succès pour le moment!
Connecté au bus XpressNet de la centrale NanoX de Paco, je peux envoyer un arret d’urgence qui est pris en compte par la centrale : Etat DCC =1.
– Si je fais un arret d’urgence à partir de la centrale, j’ai :Etat 2.
– Je supprime l’arret d’urgence, j’ai alors : Etat DCC =0
Jusque là tout me parait correct. J’essaie de commander un aiguillage je n’ai rien qui se passe.
Si je commande le même aiguillage à partir de la centrale, le fonctionnement est correct.
A priori, le TCO communique avec la centrale, par contre les commandes d’aiguillages ne passent pas ??? Au secours !!!
Merci d’avance
Cordialement
Jacques
Bonjour,
j’essai moi aussi de réaliser ce TCO, mais jusqu’a lors sans succès.
pourriez vous préciser le modele de la centrale ROCO ainsi que la version logiciel de celle-ci
par comparaison, moi j’ai :
centrale 10761 + Multimaus version 1.00 + version X-Bus : 3-0
Merci de votre aide.
Bonjour,
Je possède moi meme la centrale 10761 + multimaus v1.0.
Avez vous essayer de permuter les fils A et B sur le bus xpressnet c’est ce qui m’a posé quelques problèmes, trouver le bon sens de connexion de ces fils.
Bonjour et merci pour votre réponse.
avec mon montage, lorsque je lance le moniteur série de l’arduino, j’ai bien :
–> Etat Centrale DCC = 2
–> Etat Centrale DCC = 0
lorsque j’appui sur “STOP” de la multimaus.
si j’inverse A et B, je n’ai plus rien dans le moniteur série.
je pense donc que le sens de mon montage est le bon.
je pensais que mon soucis venait de la version 1.0 (pas a jour de la version 1.4) de la multimaus
coté aiguillage, j’utilise un décodeur ROCO 61196.( peut être un soucis avec mais je ne vois pas.)
j’ai lu qu’il fallait décaler les adresses de 4 pour la multimaus par rapport a l’intellibox, alors j’ai essayé, mais cela n’a rien donné non plus.
si vous avez d’autres idées je prends car cela fait longtemps que j’essai de faire fonctionner cette solution ( UAICF ou Nicolas Zin) mais toujours sans succès.
Cordialement.
Bonjour Sam,
J’ai réalisé le montage mais j’ai un petit soucis peut être aurai tu la réponse à mon problème.
Lorsque je modifie la position de l’aiguillage via la commande Roco l’aiguillage bouge.
lorsque j’actionne le levier l’état de l’aiguillage change sur la central mais pas sur le réseau.
cordialement,
Ps merci pour le tutoj’ai pu sauter le pas
Hello Sam
I’m working with this development, runs properly with ROCO multimauls.
But if I use a LENZ LZV100 central, doesn’t run, the status of central is show but no order is sent to the eaccesories.
Have you any idea about this?
Thanks in advance for your help
SM
Bonjour, merci pour partager tes assemblages.
J’ai une doute, dans l’assemblage TCO, tu bouges le servomoteur mais j’ai pas vu la conexión avec le Arduino Mega.
Est ce que tu peut m’indiquer comme tu les bouges? Ou vraiment tu les bouges avec le Arduino Mega?
Merci beaucoup, avec mes sinceres salutations.
Bonjour,
L’arduino Méga du tco récupère les informations des switch et les codes en langage xpressnet pour la centrale Roco.
Il est connecté à la centrale comme une commande à main. C’est ensuite la centrale qui envoie les infos aux decodeurs accessoires des servos
Merci beaucoup pour la clarification.
Je ferai l’assemblage quand j’aurai l’electronique. Si j’ai quelque doute je te posserais la question.
Merci et salut!
J’ai un probleme, j’arrive pas avoir des comunications avec l’arduino. Les Leds TX-RX sont éteint, le program est le example de 2 boutons poussoirs de la web.
Les conections que j’ai fait sont comme l’image de la web avec la carte Max 485. Les conections de comunications je les ai fait avec le pin 0,1 du Arduino TX0-RX0.
SoftwareSerial Debug(0, 1); // RX, TX – Mettre sur 0 et 1 pour MEGA 2560
Est ce que je dois modifiquer int NbreBoutons, int NbrePoussoirs avec valeur 2?
int Aig[] = {47,48}; // Adresse DCC des aiguillages, la premiere adresse 0 correspond arret d’urgence, 0,1
int Bt[] = {23,24}; // Bornes de la carte ARDUINO Bonjour, finalement j’ai reçu le material, l’arduino et la carte Max485.
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d’aiguillages commandés par Bouton Poussoir
int NbreLevier = 1; // Nbre d’aiguillages commandés par Bouton Levier
Est ce que vous pouvez me dire si j’ai dois changer quelque chose?
Merci beaucoup.
Bonjour, finalement j’ai reçu le material, l’arduino et la carte Max485.
J’ai un probleme, j’arrive pas avoir des comunications avec l’arduino. Les Leds TX-RX sont éteint, le program est le example de 2 boutons poussoirs de la web.
Les conections que j’ai fait sont comme l’image de la web avec la carte Max 485. Les conections de comunications je les ai fait avec le pin 0,1 du Arduino TX0-RX0.
SoftwareSerial Debug(0, 1); // RX, TX – Mettre sur 0 et 1 pour MEGA 2560
Est ce que je dois modifiquer int NbreBoutons, int NbrePoussoirs avec valeur 2?
int Aig[] = {47,48}; // Adresse DCC des aiguillages, la premiere adresse 0 correspond arret d’urgence, 0,1
int Bt[] = {23,24}; // Bornes de la carte ARDUINO
int NbreBoutons = 0; // Nbre total de boutons
int NbrePoussoirs = 0; // Nbre d’aiguillages commandés par Bouton Poussoir
int NbreLevier = 1; // Nbre d’aiguillages commandés par Bouton Levier
Est ce que vous pouvez me dire si j’ai dois changer quelque chose?
Merci beaucoup.
bonjour Pablo,
J’ai les même soucis que toi as-tu réussi à le faire fonctionner? Pour ma part je commence à perdre espoir
Bonjour Max.
Désolé de ne pas avoir répondu avant et pour mon français.
Oui, à la fin je l’ai eu.
La carte de communication est celle faite avec un MAX 485, le schéma peut être trouvé sur Internet, si vous ne le trouvez pas, dites-le moi, avec le schéma du WEB, je n’ai pas pu communiquer.
Les LED de l’Arduino RX-TX ne s’allument pas.
La connexion du RX-TX dans le Arduino Mega je l’ai fait dans les broches 18-19, si cela ne fonctionne pas, il échange les broches (19-18).
Dans le programme, j’ai changé cette valeur, mais cela ne devrait pas affecter.
L´Original 3 je l’ai modifié à 9, et sur la carte Arduino j’ai également épinglé 9
#define XNetSRPin 9 // Relais de bus de pilote Max485 vers le terminal Arduino // 3
Salutations
Pablo
Hola buenas noches, he hecho el momtaje basandome en los datos de esta web y no hay manera que se muevan los servos.
Mi pregunta es si ha funcionado bien alguna vez?. y si han hecho alguna actualización.
Los leds de Tx y Rx tampoco se me encienden.
Me pueden informar que me puede pasar, tengo interes en hacerlo funcionar el TCO.
Gracias y un saludo
Bone nuit:
Estoy intentando hacer funcionar el TCO con arduino de la web Sam y no hay manera de que se muevan los servos, veo que estos comentarios son de hace mucho tiempo, habran hecho alguna modificació ?
He conseguido que el led de Rx este parpadeando pero no hay manera de mover servos.
Mi central es una multimaus con booster 10764.
Me gustaria poder disponer de este tco se lo agradeceria su ayuda.
Reciba un cordial saludo
Merçi beaucoup
Juan Serrano
608 87 59 40
Bonjour Sam,
J’essaie de faire fonctionner le TCO sans succès pour le moment!
Connecté au bus XpressNet de la centrale NanoX de Paco, je peux envoyer un arret d’urgence qui est pris en compte par la centrale : Etat DCC =1.
– Si je fais un arret d’urgence à partir de la centrale, j’ai :Etat 2.
– Je supprime l’arret d’urgence, j’ai alors : Etat DCC =0
Jusque là tout me parait correct. J’essaie de commander un aiguillage je n’ai rien qui se passe.
Si je commande le même aiguillage à partir de la centrale, le fonctionnement est correct.
A priori, le TCO communique avec la centrale, par contre les commandes d’aiguillages ne passent pas ??? Au secours !!!
Merci d’avance
Cordialement
Jacques
Bonjour,
Avez vous trouvé une solution? J’ai le même problème, je communique avec la centrale (une dr5000 digikeijs) mais les aiguillages ne bougent paq.
Bonjour, j’utilise une central digitrax donc loconet, pensez-vous que le tco est compatible avec le loconet?