Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - sam95

Pages: [1]
1
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 29, 2017, 09:45:49 pm »
Bonne question...... comment puis-je savoir cela ?

2
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 29, 2017, 04:23:36 pm »
Merci je vais essayer de trouver les composants pour un sniffeur DCC.

Mais arrivant à reprogrammer l'adresse du DS51K1 via le TCO je pense qu'il reçoit la bonne adresse:

Je  programme le DS51K1 en adresse 6 avec la multimaus et le test à cette adresse, puis je connecte le TCO avec une adresse 10 dans le fichier ino, je remets le décodeur en mode programmation, j'actionne le bouton (lié à l'adresse 10). Une fois cela fait, sur la multimaus l'aiguillage ne réagit plus à l'adresse 6 mais bien à l'adresse 10.

 Je ne m'explique pas la fait qu'il n'envois pas ensuite l'impulsion vers le moteur de l'aiguillage

3
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 29, 2017, 12:44:13 am »
Bonjour,

Cela marche presque.

En effet j'ai donc une multimaus et j'ai 2 aiguilles kato pilotées par des décodeurs digitrax ds51k1. Ces 2 aiguilles sont pilotés par les adresses 1 et 2 sur ma multimaus.

Avec le tco rien ne se passe pour les inter aux adresses 1 et 2.
Je me suis souvenu qu'il existe un problème de décalage d'adresse de 4 entre la norme DCC et roco

Pour mes autres décodeurs à base de l Universal accessory decodeur de Thierry, j'ai codé ce décalage. Par exemple l'aiguille codée 26 dans l arduino de l uad se commande par l'adresse 30 sur la multimaus.

Mais du coup mes ds51k1 ils auraient une adresse decallee aussi ???? De -4 ? Est-ce possible d'avoir 1-4=-3 comme adresse ?

4
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 20, 2017, 12:47:13 pm »
Après revérification du câblage et le câblage d'au moins 1 inter (l’arrêt d'urgence) le montage fonctionne.

5
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 17, 2017, 02:07:07 pm »
OK je ne pensais pas à mal, pour moi les projets arduino étant libre je ne voyais pas de problèmes d'en parler ici ou là. Surtout que l'UAICF n'a pas de forum.

Si cela pose problème un modo peut supprimer le sujet .

6
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 16, 2017, 11:19:55 am »
Bonjour,

Pour le moment je n'ai cablé aucun switch sur mon arduino, j'ai juste branché la liaison avec la centrale et selon la doc je devrais avoir dans la console série un affichage de l'état de centrale = 0. Hors moi j'ai 255, qui veut dire qu'il n'y a pas de communication avec la centrale.

J'ai regardé le code et j'ai l'impression qu'il se sert de l'alimentation via la centrale et le cable RJ11 pour contrôler l'état de la communication, hors pour le moment je n'ai pas branché cette alim sur l'arduino. Pensez-vous que ça puisse être cela ?

**************************************************//
                //                                                  //
                //         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,14,14,13,13,28,28,29,27,12,11};  // Adresse DCC des aiguillages
int Bt[]           = {23,25,27,29,31,33,35,37,39,41,43};  // Bornes de la carte ARDUINO

int NbreBoutons = 0;        // Nbre total de boutons
int NbrePoussoirs = 3;         // Nbre d'aiguillages commandés par Bouton Poussoir
int NbreLevier = 4;            // 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;
 
}


Je ne peux pas tester avant demain soir c'est pour cela que je demande.
De plus puis-je brancher de VCCin de 12v et en même temps la prise USB sur l'arduino mega ?

7
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 12, 2017, 07:45:43 pm »
actuellement il est alimenté par le port USB du PC pour avoir l'affichage de la console

est il possible de mesurer ce qui sort du max485 avec un multimetre?ou faut il un oscillo ?

8
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 12, 2017, 05:03:24 pm »
J'ai vérifié et revérifié mon cablage, il me semble bon

Sur le module à base de max485:
RO->RX1 arduino
DI->TX1 arduino
DE et RE essemble -> pin 3 arduino selon le sketch

de l'autre coté du module max485
fil de ground du RJ11, sur GND et relié au GND de l'arduino
Fil A et B du RJ11 sur le bornier A et B, dans un sens ou dans l'autre avec ou sans résistance de 120ohm
borne VCC reliée à une sortie 5v de l'arduino

Le fil amenant du 12v depuis la centrale est resté non connecté.

Une idée ?

9
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 12, 2017, 03:31:58 pm »
J'ai enfin rassemblé le matériel.
Premier test aujourd'hui non concluant. Le pregramme sur l'arduino ne communique pas avec la centrale. Il va falloir que je cherche pourquoi.



10
Vos projets / Re : TCO arduino Xpressnet
« le: janvier 04, 2017, 04:20:50 pm »
J'avais vue l'article de Nicolas sur locoduino, mais je trouve en tant que noob, les explications du site modelisme58 plus simple et plug&play.

Bon je vais me lancer avec un module tout prêt du coup


11
Vos projets / TCO arduino Xpressnet
« le: janvier 03, 2017, 01:18:49 am »
Bonjour,

Voila j'ai chez moi un réseau tout simple constitué de module T-Trak et de 2 boucles de retournement pour former un "os de chien". Ce réseau est piloté par une Roco multimaus. Il y a 13 aiguillages qui sont actionnés par des servos et 2 arduino pour les "décodeur accessoire universel" de Thierry. Merci à lui pour l'aide d'ailleurs.

La mulltimaus n'est pas ce qu'il y a de plus pratique pour piloter les aiguilles, j'ai donc dessiné un petit TCO sous JMRI et avec un module GenLi et un mini pc (eeepc901)je peux piloter mes aiguillages via le PC ou via un tablette. Sympa pour la maison, mais les modules T-Trak sont aussi fait pour aller en expo.

Dans le but d'une expo en mars je voudrais donc réaliser un TCO tout simple avec des boutons poussoir qui se relie comme une souris Xpressnet à la centrale. Afin que n'importe qui puisse l'utiliser facilement.

J'ai trouvé un tuto tout prêt pour réaliser ce montage (étant donné mes connaissances proche de 0 en programmation):
http://modelisme58.free.fr/index.php/arduino.html
rubrique: Réaliser un TCO en digital DCC avec une carte ARDUINO

Il faut faire une petite carte avec le max485 pour la liaison avec la centrale. Ce n'est pas du tout insurmontable, mais en cherchant ou m'approvisionner en composant j'ai découvert des modules tout prêt sur ebay pour un prix défiant toute concurrence.
http://www.ebay.fr/itm/1011-MAX485-Module-RS-485-TTL-to-RS485-MAX485CSA-Converter-Module-For-arduino-/291949863536?var=&hash=item8996c98a44
https://arduino-info.wikispaces.com/SoftwareSerialRS485Example

Du coup je me demande si ce module est utilisable tel quel dans le projet de l'UAICF ?

Merci de votre aide
 

12
Présentez vous ! / bien le bonjour
« le: janvier 03, 2017, 12:45:11 am »
Bonjour,

Je suis Samuel 35 ans et réalisateur de module T-trak en N. J'ai d'ailleurs réalisé le blog de cette norme en français: t-trak.fr

Je suis aussi sur le forum du N et ai utilisé à 2 reprises dans mes modules le décodeur universel de Thierry.
Je me suis même permis de faire une série d'articles sur mon blog perso pour en décrire l'utilisation pour un noob en électronique. En effet je n'ai pas de connaissance en électronique ni en programmation.

Me voila inscrit ici car je souhaite réaliser un TCO qui se comprote comme une souris Xpressnet pour ma centrale multimaus. Je vais aller poser ma question dans la bonne section.

Au plaisir et bravo pour votre super site.

Pages: [1]