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 - Dominique

Pages: 1 ... 3 4 [5] 6 7 ... 106
61
Bravo à tous, ça donne envie de mettre un pont tournant mais il faut trouver de la place.
 ;D

62
Bus CAN / Bibliothèque ACAN et détecteurs RFID en mode SPI
« le: avril 19, 2020, 07:06:55 pm »
Je viens de tester 2 cartes RC522 connectées sur un même Nano équipé de l'interface Can (une carte 8 servos de Jean-Luc).



Ces cartes s'interfacent sur le bus SPI, donc il est possible d'en faire coexister plusieurs, avec l'interface Can (SPI aussi), pourvu que le Nano dispose de broches pour les Chip Select.

Le sketch ReadUidMultiReader , un des exemples de la bibliothèque MFRC522, fonctionne parfaitement

Reader 0: Firmware Version: 0x92 = v2.0
Reader 1: Firmware Version: 0x92 = v2.0
init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 1: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
Reader 0: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C


Et je confirme à l'instant la compatibilité avec la bibliothèque ACAN selon l'article La bibliothèque ACAN (1).

RC522 init OK
CAN init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 04 ED 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 16657409, longueur : 3
recu : 16591873, longueur : 3
recu : 16526337, longueur : 3
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB

Le programme est très simple :

include <SPI.h>
#include <mcp_can.h>
#include <MFRC522.h>
#include <ACAN2515Settings.h> /* Pour les reglages  */
#include <ACAN2515.h>         /* Pour le controleur */
#include <CANMessage.h>       /* Pour les messages  */


#define SS_1_PIN 8
#define SS_2_PIN 7
#define RST_PIN 9
#define NR_OF_READERS   2
byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instances.
MFRC522::MIFARE_Key key1;
MFRC522::MIFARE_Key key2;

static const byte MCP2515_CS  = 10 ; // CS input of MCP2515
//static const byte MCP2515_SCK = 13 ; // SCK input of MCP2515
//static const byte MCP2515_SI  = 11 ; // SI input of MCP2515
//static const byte MCP2515_SO  = 12 ; // SO output of MCP2515
static const byte MCP2515_INT = 3 ; // INT output of MCP2515

ACAN2515 controleurCAN(MCP2515_CS, SPI, MCP2515_INT);
static const uint32_t FREQUENCE_DU_QUARTZ = 16ul * 1000ul * 1000ul; //16Mhz
static const uint32_t FREQUENCE_DU_BUS_CAN = 500ul * 1000ul;        //500kHz
CANMessage messageCANEmission;
CANMessage messageCANReception;

// Init array that will store new NUID
byte nuidPICC[4][4];
bool newtag = false;
byte numtag = 255;



void setup() {
  Serial.begin(115200);
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

  SPI.begin(); // Init SPI bus
 
  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));
    mfrc522[reader].PCD_DumpVersionToSerial();
  }
  Serial.println("RC522 init OK");
  ACAN2515Settings configuration(FREQUENCE_DU_QUARTZ, FREQUENCE_DU_BUS_CAN);
  const uint32_t codeErreur = controleurCAN.begin(configuration, [] { controleurCAN.isr(); });
  Serial.println("CAN init OK");

}

 /**
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    // Look for new cards

    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
      Serial.print(F("Reader "));
      Serial.print(reader);
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F(": Card UID:"));
      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();
      Serial.print(F("PICC type: "));
      MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
      Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));

      // Halt PICC
      mfrc522[reader].PICC_HaltA();
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();
    } //if (mfrc522[reader].PICC_IsNewC
  } //for(uint8_t reader

  if (controleurCAN.receive(messageCANReception)) {
    Serial.print("recu : ");
    Serial.print(messageCANReception.data32[0]);
    Serial.print(", longueur : ");
    Serial.println(messageCANReception.len);
  }
}

63
Shields et Modules / Re : Detecteur RFID / NFC
« le: avril 19, 2020, 06:54:16 pm »
Et je confirme à l'instant la compatibilité avec la bibliothèque ACAN selon l'article https://www.locoduino.org/spip.php?article268.

RC522 init OK
CAN init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 04 ED 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 16657409, longueur : 3
recu : 16591873, longueur : 3
recu : 16526337, longueur : 3
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB

64
Shields et Modules / Re : Detecteur RFID / NFC
« le: avril 19, 2020, 03:36:29 pm »
Je viens de reactiver ce sujet car il me faut placer les détecteurs manquant dans mon réseau avant de poser le décor !!!

Je viens de tester 2 cartes RC522 connectées sur un même Nano équipé de l'interface Can (une carte 8 servos de Jean-Luc).
Ces cartes s'interfacent sur le bus SPI donc il est possible d'en faire coexister plusieurs, avec l'interface Can (SPI aussi), pourvu que le Nano dispose de broches pour les Chip Select.

Le sketch ReadUidMultiReader , un des exemples de la bibliothèque MFRC522, fonctionne parfaitement

Reader 0: Firmware Version: 0x92 = v2.0
Reader 1: Firmware Version: 0x92 = v2.0
init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 1: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
Reader 0: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C

Il était temps car la montagne va recouvrir toute cette partie du réseau (les arbres vont pousser !!).
Ces détecteurs sont particulièrement attrayants car il se glissent sous la voie donc bien indiqués sous un tunnel où il n'est pas besoin de les camoufler.

65
Vos projets / Re : projet centrale wifi DCC++ Can
« le: avril 19, 2020, 11:28:29 am »
Merci Thierry, c'est essentiel de rappeler ce principe  :D

1) Pourquoi faire une centrale DCC ?
Vous l'avez remarqué, tous les modélistes qui veulent piloter plusieurs trains sur un réseau, petit ou grand, ont besoin d'une alimentation pour les locos connectée aux rails. Bien-sûr il y a le courant continu ou le PWM qui n'est pas exclu de ce projet (le projet de Jean-Luc "un Arduino par canton" https://forum.locoduino.org/index.php?topic=36.0 est la quintescence de ce qui peut se faire de mieux). Mais, il semble que la grande majorité des modélistes ferroviaires soit passée au DCC ou va y passer. Ce projet pourra faire une transition douce  ;), il me semble.

Depuis le début, Locoduino décrit le DCC (https://www.locoduino.org/spip.php?article14) et nous avons la chance d'avoir déniché (grâce à Denis) le logiciel DCC++ de Gregg E. Berman qui a été ensuite transformé  en bibliothèque DCCpp par Thierry (https://www.locoduino.org/spip.php?article228). Cette bibliothèque, à l'origine, a été écrite pour les processeurs ATMega 328 et 2560.
En cherchant rapidement on peut trouver des quantités de réalisations de centrales DCC sur Locoduino. Alors pourquoi encore une ?
La réponse est dans la suite !

2) Pourquoi l'ESP32 ?
Depuis l'arrivée des processeurs ESP32, très puissants,  double coeur et doté d'un grosse mémoire (https://en.wikipedia.org/wiki/ESP32), avec wifi, bluetooth, I2C, SPI, CAN, etc.. tout intégré, on peut penser réaliser quelque chose qui parait simple (à première vue) et bon marché et qui reste "ouvert" pour les besoins de chacun (probablement avec du développement personnel).
Mais ne nous y trompons pas, comme insiste Thierry, on ne peut surement pas tout faire d'un coup, soyons raisonnable et nous avons écouté tout le monde, puis choisi une première destination qui doit être faisable. Les ingrédients définis dans cette étape sont là (https://forum.locoduino.org/index.php?topic=922.msg9956#msg9956).

Il faut bien être conscient que plusieurs fonctions doivent coexister dans ce processeur doublé coeur et doté d'un OS dit "temps réel" (freeRtos), donc les développements doivent satisfaire quelques principes nécessaires. Nous allons installer un certain nombre de fonctions (peut-être pas toutes à la fois) et il serait sympa qu'une ouverture aux développeurs (vous) soient possibles.

3) Pourquoi le Wifi ?
Tous le monde a au moins un smartphone et un tour dans les clubs nous montre que les centrales les plus populaires peuvent supporter des applications sur smartphone en intégrant un serveur Wifi. J'ai eu l'occasion de realiser ce concept avec un ESP8266 qui est un des parents de l'ESP32.
Par ailleurs, la plupart des logiciels de gestion de réseau et de matériel ferroviaire (JMRI, RocRail pour n'en citer que deux) savent communiquer par Wifi avec les centrales, y compris celles intégrant DCC++. Donc le Wifi servira à cela.

Comme JMRI en particulier permet d'utiliser des applications gratuites Withrottle (IOS) et Engine Driver (Android), piloter directement notre centrale avec ces applications est une évidence !
Ce qui n'empêche pas d'installer JMRI plus tard, une évolution intéressante pour nous modelistes, qui permet de profiter de toutes les fonctions des applications smartphone

Et rien n'empêche de développer d'autres applications smartphone pour cette centrale !

4) Avec quelle puissance électrique ?
Tous les lecteurs de Locoduino connaissent les LMD18200 et aussi les L298. Le premier est cher et le second un peu limité.
Là nous avons choisi le L6203 de ST Microelectronics car il permet de monter à 4 A pour un prix raisonnable, ce qui est largement suffisant pour la plupart des réseaux, sachant qu'il est possible de faire des booster complémentaires en cas de besoin.

5) Pourquoi un circuit imprimé ?
Tout le monde sait bien que c'est plus simple de monter des composants sur un circuit imprimé. Personnellement j'ai monté tellement de prototypes câblés sur des plaques à pastilles que j'en ai marre maintenant !
Et les fabricants de pcb (en Chine) nous proposent 10 cartes 10 x 10 cm pour 5 $. Avec le port cela fait 15 €, soit 1,5 € par carte : on ne prend pas beaucoup de risques. Mais il faut attendre  :P

J'ajoute au passage que toutes les fonctionnalités décrites ici n'occupent que peu de composants, donc allons-y !

Par contre le premier circuit qui est en cours de livraison doit être considéré comme un prototype qui servira d'expérience pour les suivants.

6) Pour quelles interfaces humaines (pilotes, conducteurs, postes de conduite...) ?
Nous avons parlé des smartphones : chacun sa manette pour un pilotage manuel.
Idem avec les logiciels de gestion de conduite de trains : sur écran de PC ou tablette, mais la complexité se déporte dans ces logiciels.
Mettre des boutons et des curseurs : pourquoi pas.

Ajouter un afficheur : oui, au moins pour visualiser ce qui se passe et permettre la détection d'erreurs. Là le sujet est vaste !
Je n'entre pas dans le sujet de la configuration et des mises à jour logicielle, vous vous doutez que ce sera très important.

7) Quelle rétrosignalisation ?
C'est là que le bus Can intervient !
L'ESP32 intègre un contrôleur Can intégré et je l'ai testé : ça marche. Chacun comprend, à la lecture de ce Forum, que le Can est résistant, fiable et facile à mettre en oeuvre.
Par ailleurs, nous avons maintenant une expérience non négligeable avec les satellites. Je les ai testé en communication avec l'ESP32 : j'ai confiance. Je pense qu'on va reparler des satellites V2 car cela semble bien compris par de nombreux habitués de Locoduino et ce n'est pas pour rien que Jean-Luc s'est décarcassé pour eux  ;D
D'ailleurs je suis en train de connecter une paires de détecteurs RFID RC522 de chaque coté de ma gare principale pour identifier les trains à coup sûr avec un Nano et les interfaces Can et RFID : c'est presque un satellite V2 !

Personnellement tout est connecté sur un bus Can sur mon réseau et il y a un vraie possibilité d'évolutions, d'ajout de fonctions.
Mais une interface universelle pour les développeurs serait la bienvenue (merci Denis de le pointer).
Yes we Can  ;D

Au final, quoi faire avec cette centrale ?
Tout n'a pas été écrit ci-dessus et la créativité de chacun peut s'exprimer.
Je pense et j'espère que la mémoire de l'ESP32 pourra supporter quelques fonctions en plus du Wifi, du DCC, du Can et permettre le développement de petits automates internes comme mon va-et-vient ou d'autres animations.
L'accès au bus Can, donc à toutes sortes de capteurs et actionneurs va permettre de réaliser de très belles choses que vous serez fiers de présenter dans les salons.

Voilà,

J'espère avoir donné un meilleur éclairage à ce projet  ;D
Et j'ai surement omis des tas de choses (à vos questions ....)

Amicalement
Dominique

66
Présentez vous ! / Re : Présentation (dmskd)
« le: avril 19, 2020, 09:40:41 am »
Bienvenue Dominique !

Désolé j’ai pris mon prénom comme pseudo. Bienvenue dmskd  ;D

Bravo pour toutes ces réalisations et nous serions heureux de lire leurs descriptions prochainement, voire sous forme d’articles sur le site éditorial.

Si cela te tente, tu peux nous contacter pour les conseils à appliquer.

Cordialement
Dominique

67
Vos projets / Re : projet centrale wifi DCC++ Can
« le: avril 19, 2020, 09:22:27 am »
Bonjour Jerôme,

Il est difficile de s'y retrouver dans la 1ère lecture de ces 15 pages sur le projet, un fil de forum comme celui de Locoduino n'est pas un vrai outil de gestion de projet utilisé seulement par les développeurs de projet.

Il y a un mélange entre les idées de ceux qui voient bien où aller et qui vont réaliser le projet (et qui ont bien commencé après quelques étapes de validation des concepts) et les autres qui postent des avis parfois en contradiction avec le fil du projet, avis qui entraiment des réponses qui contribuent à s'écarter du droit fil. Donc c'est une discussion dans laquelle il faut savoir extraire l'essentiel.

Peut-être aurait-il fallu se réunir et discuter du projet en mode caché (comme nous l'avons fait pour le Locoduinodrome pour Orléans), puis annoncer "voilà c'est comme ça !"

Au contraire, nous sommes partis de façon complètement publique pour bien sentir les réactions et les sensibilités de chacun, ce qui a permis de voir des personnes rejoindre ce projet avec des compétences pointues qui vont contribuer au résultat.

Ce qui fait que les contours du projet (le cahier des charges) sont apparus effectivement à la page 13 : https://forum.locoduino.org/index.php?topic=922.msg9956#msg9956

Alors, pour aider tous ceux, comme Jérôme, qui cherchent à comprendre et se demandent si ce projet les intéressent, je vais essayer de retracer les grandes étapes du raisonnement.

Autant le dire tout de suite, ce raisonnement est basé sur la présence et la disponibilité des éléments techniques de ce projet d'une part, des personnes qui peuvent les porter, d'autre part, ainsi que sur l'expérience et l'historique de chacun.

Dans les contributions suivantes, je vais définir les points importants de ce projet :
  • pourquoi le DCC ?
  • pourquoi le Wifi ?
  • pour commander les trains et comment ?
  • avec quelle puissance électrique (ampères)
  • avec quelles relations avec des organes externes (rétrosignalisation, gestionnaires)
  • etc..
A suivre ...

68
Bonjour,

Moi non plus je n’arrive pas à lire les CVs de décodeurs CT Elektronic.

J’ai contacté la boîte, expliqué le problème, mais je n’ai pas eu de réponse.

La solution est de programmer les CVs sans réponse sur la voie principale en fournissant l’adresse du décodeur) et de vérifier à l’usage s’ils sont pris en compte .


69
Bus CAN / Re : Bus CAN + bus PJON
« le: avril 18, 2020, 01:04:34 pm »
Bonjour à tous,

Je ne connais PJON (je ne suis pas parfait, loin s’en faut) mais le remarque
Citer
je préfère garder le DCC pour les locos
me colle parfaitement et devrait inspirer tout le monde.

Maintenant je remercie petitrain de bien vouloir nous faire un tuto sur PJON.

Comme c’est 100% soft il doit y avoir une bibliothèque, des limitations, des vitesses de transmission maxi, peut-être pas d’interruption...  je veux tout savoir !
On pourra comparer avec le CAN  8)

70
Présentez vous ! / Re : Présentation
« le: avril 18, 2020, 09:25:47 am »
Bonjour Guillaume,

Je suis content de ton retour  ;D

J’ai expérimenté pas mal de types de claviers, des boutons isolés aux claviers tactiles y compris des écrans graphiques tactiles (boutons virtuels).
Je recommande aussi les encodeurs rotatifs qui sont bien plus précis qu’un potar et dont la valeur est celle que tu veux (c’est mieux pour les stocks : toujours bon !).

Il y a un exemple de clavier 12 touches ici :  ??? http://forum.locoduino.org/index.php?topic=290.30

Bon courage à toi et ta famille.
Amicalement
Dominique

71
Bonsoir,

En effet, la question se pose aussi dans le projet de centrale Wifi DCC+Can :
http://forum.locoduino.org/index.php?topic=922.msg9956#msg9956

72
Bus CAN / Re : Bus CAN + bus PJON
« le: avril 17, 2020, 11:23:06 pm »
Ce réseau est immense et son gestionnaire doit être interessant.

Bravo Antoine, tu relèves toujours des défis gigantesques et tu les reussis  ;)

73
Vos projets / Re : Re : projet centrale wifi DCC++ Can
« le: avril 13, 2020, 10:09:08 pm »
Les connections réseau s'établissent pendant le setup, toutes les connections Wifi par exemple

Dans ma version compatible Withrottle (sur ESP8266, mais ce sera pareil sur ESP32), il est possible d’ajouter des connexions l’une après l’autre, après le setup, évidemment, grâce au DNS, si je ne me trompe. Est-ce grâce au mode soft-AP ? Je ne pense pas (a creuser).

Je pense que toutes ces infos doivent être dans le gestionnaire (le TCO, en particulier)

Évidemment si c’est le gestionnaire (externe) qui gère les connexions des manettes, il n’y a plus de problème (cas de JMRI).

74
Vos projets / Re : Re : projet centrale wifi DCC++ Can
« le: avril 13, 2020, 05:51:40 pm »
Bonjour 

Pour répondre a la question, est ce que cela m'intéresse ?

Je répondrai oui, pour moi.
Je suis ce fil en sous-marin depuis bien longtemps.

Mais vous m'avez coulé depuis … bien longtemps aussi !
 J'ai pas tout compris  :)

Et bien on s'éfforcera de répondre à tes questions  ;D

75
Vos projets / Re : projet centrale wifi DCC++ Can
« le: avril 13, 2020, 02:55:20 pm »
Bonjour à tous,

Maintenant que le premier proto de cette centrale est en cours de livraison (10 plaques que j'attends d'ici à 3-4 semaines), certains d'entre nous ont commandé des composants manquants.

Vous qui visitez ce site, qu'en pensez-vous ?
Ce projet peut-il vous intéresser (vous, votre club, vos enfants) ?
Quelles suggestions feriez-vous ?
Merci de votre réponse.

Cordialement
Dominique

Pages: 1 ... 3 4 [5] 6 7 ... 106