LOCODUINO

Annonces en gare avec la RFID

.
Par : bobyAndCo, Catplus, Christian

DIFFICULTÉ :

Le montage proposé dans cet article va permettre de donner une touche réaliste à votre réseau de trains miniatures. Lorsqu’un train s’approche de la gare, une annonce au haut-parleur prévient les voyageurs de la provenance et de la destination du train lorsqu’il s’arrête pour prendre des voyageurs ou bien encore de s’écarter du bord du quai si le train ne fait que traverser la gare. Bien évidemment, l’annonce est différente en fonction de chaque train. Le montage, valable aussi bien pour un réseau analogique que numérique, ne nécessite que quelques composants bon marché. Voyons comment faire…

La reconnaissance des trains

L’annonce en gare est personnalisée pour les différents trains, ce qui implique qu’ils doivent être reconnus en amont de la gare. Pour ce faire, nous allons placer sous la voie un lecteur RFID (taille 3 cm x 6 cm) et équiper chaque locomotive d’un TAG qui, en passant sur le lecteur, va permettre son identification. C’est simple, ces composants se trouvent facilement sur internet, faible coût de montage, des bibliothèques spécialisées existent pour les utiliser, cela fait du code en moins à écrire et à tester. Mais qu’est-ce au juste que la RFID ?

La RFID, comment ça marche ?

La Radio Frequency Identification ou radio identification en français se compose de deux éléments complémentaires, le lecteur (figure 1) et le TAG (figure 2). Les TAG, pour les dispositifs les plus simples comme utilisés ici, ne disposent d’aucune alimentation électrique qui leur soit propre. Ils disposent simplement d’une antenne d’émission/réception et d’une puce où sont stockées les informations. Cette mémoire est généralement de petite capacité de l’ordre de quelques dizaines d’octets à 8 Ko.

Figure 1
Figure 1
Le lecteur RFID en version I2C
Figure 2
Figure 2
Un TAG RFID

Le lecteur RFID est aussi un émetteur d’énergie électromagnétique. En même temps qu’il envoie un signal d’interrogation, il fournit l’énergie nécessaire au TAG pour s’activer. Le lecteur va ainsi recevoir les données envoyées par le TAG (taille 19 mm x 12 mm).
Le lecteur en tant que tel ne sait rien faire de ces données. Dans notre cas, c’est un Arduino relié au lecteur et communicant en I2C qui va traiter ces données et permettre la lecture d’un fichier sonore spécifique pour chaque locomotive.

Le matériel nécessaire

Voici la liste du matériel nécessaire pour réaliser ce montage :

  • Carte Arduino Uno ou Nano
  • Lecteur RFID RC522 en version I2C v1.1 (le signal émis a une fréquence de 13,56 MHz)
  • Des tags autocollants pour chacune des locomotives (adhésif, verre [1])
  • Lecteur DFPlayer Mini
  • Carte micro SD
  • Une paire de mini-enceintes alimentées de PC ou un petit haut-parleur
  • Quelques résistances et une petite diode (1N914, 1N4148, etc.)

Au total, le prix de revient de ce montage sera inférieur à 20 € clone Arduino compris. Prévoyez aussi quelques câbles et un peu de soudure (il y en aura très peu à faire).

Une alimentation récupérée sur un PC hors d’usage (figure 3) permet de disposer de toutes les tensions pour ce type de montage, 3,3v, 5v et 12v, tension qu’il sera plus sage d’abaisser à 9 V avec un régulateur (7809 par exemple) si on veut alimenter l’Arduino avec.

Figure 3
Figure 3
Alimentation de PC

Pour les enceintes, nous utilisons des enceintes amplifiées de PC alimentées en 5v (figure 4).

Figure 4
Figure 4
Enceintes de PC amplifiées

La figure 5 montre l’ensemble du montage sur la planche avec en premier plan le module son que nous avons monté sur un PCB pour faciliter le câblage et auquel nous avons ajouté une DEL comme témoin d’alimentation.

Figure 5
Figure 5
L’ensemble des éléments

Les annonces en gare

Pour effectuer une annonce en gare, il suffit de lire un fichier son stocké sur une carte micro SD et l’envoyer sur un petit haut-parleur. Il doit y avoir autant d’annonces (donc de fichiers son) que de trains différents roulant sur votre réseau. Bien évidemment, les trains de marchandises qui ne s’arrêtent pas en gare constituent une seule et même catégorie. L’annonce correspondante ne fait que prévenir les usagers de s’écarter de la bordure du quai. Les fichiers son doivent être au format MP3 et il est facile de trouver de tels fichiers sonores sur le net, ou bien de les enregistrer soi-même et les convertir ensuite. Voici un petit exemple de fichier sonore constituant une annonce (époque contemporaine comme vous le remarquerez !).

Pour lire le fichier son MP3 contenu sur la carte micro SD, on utilise le DFPlayer Mini alimenté en 5 V par la carte Arduino, il se raccorde sur elle très simplement comme nous le verrons par la suite.

Comment relier le module RFID à la carte Arduino ?

La figure 6 montre comment relier un module RFID RC522 I2C à une carte Arduino. Attention : le module s’alimente en 3,3 V et non en 5 V. Cette alimentation de 3,3 V est prise sur la carte Arduino elle-même ou sur une alimentation extérieure, mais il ne faut pas se tromper avec le 5 V délivré aussi par la carte Arduino.


IMPERATIF : ne pas oublier de raccorder les résistances (2,2 kΩ) sur les entrées SDA et SCL et le 3,3 V.

Figure 6
Figure 6
Montage du capteur RFID

La broche SDA de la carte RC522 I2C sera reliée à la broche A4 (SDA) de l’Arduino alors que la broche SCL sera reliée à la broche A5 (SCL) de l’Arduino. En raison des différentiels de tension entre la carte RC522 I2C (3,3V) et Arduino(5V) exposés ci-dessus, on prendra soin d’abaisser la tension entre les broches des deux cartes soit avec des résistances de 2,2 kΩ, soit un convertisseur de tension à base de transistors (figure 7).

Figure 7
Figure 7
Convertisseur de tension

Comment relier le module DFPlayer Mini à la carte Arduino ?

La figure 8 montre comment relier le module DFPlayer Mini à une carte Arduino Uno. Le son est reproduit sur un petit haut-parleur de moins de 3 W (limitation du DFPlayer Mini) qui ne reproduit pas la stéréo. Nous verrons plus loin (figure 11) comment utiliser une paire de mini-enceintes pour ceux qui en disposent, ce qui permet la stéréo, une amplification du son et une meilleure qualité sonore ; c’est ce montage que nous conseillons.

Figure 8
Figure 8
Montage du DFPlayer Mini avec un haut-parleur

Installation du lecteur RFID sous la voie

Le lecteur RFID doit être installé sous la voie, à l’endroit exact où il faut reconnaître quel train est en approche. Il faut prévoir une certaine distance entre le lecteur et la gare de manière à laisser le temps à l’annonce d’être lue. De plus, il est nécessaire de creuser légèrement la plateforme de voies pour y glisser le détecteur de manière à ce que l’épaisseur de ce dernier ne crée pas un soulèvement de la voie. Ceci peut se faire avec une défonceuse dont la profondeur de passe est réglée en conséquence. Le ballastage peut ensuite faire disparaître le lecteur RFID (insérer un morceau de carte plastique de 0,5 mm d’épaisseur). La figure 9 montre un exemple d’installation.

Figure 9
Figure 9
Montage du lecteur RFID sous la voie

Installation des tags autocollants sous les machines

Chaque locomotive est équipée d’un tag autocollant de 19 mm x 12 mm référence NXP Ntags 213. Faire attention à l’endroit où il est installé, éviter les parties métalliques et éviter l’installation sous le moteur. A l’échelle N, lorsque la place sous la loco ne permet pas de coller le tag, celui-ci peut être collé sous un wagon. La figure 10 montre ce tag.

Figure 10
Figure 10
Installation du TAG sous la locomotive

Bien évidemment, lorsque vous recevez vos tags et que vous les installez sous vos locomotives, vous ne connaissez pas encore leur numéro d’identification. Le programme que nous donnons en fin d’article possède un mode DEBUG qui permet d’afficher n’importe quel tag qui passe sur le lecteur, ce qui permet de faire la corrélation entre le numéro d’identification et la locomotive sous laquelle est fixé le tag et ainsi de modifier le tableau locosTab du programme.

Montage complet

La figure 11 montre comment relier tous les éléments du montage à la carte Arduino Uno. Il est nécessaire de respecter ce montage si vous ne voulez pas avoir à adapter le programme fourni avec cet article.

Figure 11
Figure 11
Le montage complet avec une paire de mini-enceintes

Les fichiers son

Les fichiers sons doivent être au format mp3, numérotés :
0001.mp3
0002.mp3
0003.mp3

et placés dans un dossier nommé mp3 au premier niveau de votre carte micro SD. Le nom de la carte (ici AUDIO) n’a pas d’importance (figure 12).

Figure 12
Figure 12
Contenu de la carte micro SD

La numérotation des fichiers (figure 13) correspond aux fichiers à lire au moment du passage d’une locomotive tel que nous pourrons le voir dans le code dans la dernière colonne du tableau des locomotives. Notez qu’un même fichier peut être lu pour deux locomotives différentes.

Figure 13
Figure 13
Tableau associant le TAG, la locomotive et le son à jouer

Explication du programme

Le programme utilise quatre bibliothèques qui doivent être installées dans votre IDE et qui sont :

  • SoftwareSerial et Wire font partie de l’application Arduino, vous n’avez donc pas besoin de les installer.
  • DFRobotDFPlayerMini qui permet de lire un fichier MP3 de la micro carte SD et de le jouer sur le haut-parleur. Pour l’installer, il suffit d’utiliser le gestionnaire de bibliothèque de l’IDE et faire une recherche avec le nom DFRobotDFPayerMini. La version 1.0.5 est celle en cours lors de la rédaction de cet article.
  • MFRC522_I2C qui permet d’utiliser le lecteur de tag. Le gestionnaire de bibliothèque ne vous proposera que la bibliothèque pour les lecteurs de tags utilisant l’interface SPI, pas I2C. Le mieux est donc d’utiliser le fichier ZIP MFRC522-I2C-Library-master fourni ci-dessous pour installer cette bibliothèque.
MFRC522-I2C-Library-master.ZIP
/*
    RC522 I2C Module annonces gare

    www.locoduino.org - fev 2019, vers : v 0.6

  MFRC522.cpp - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS I2C BY AROZCAN
  arozcan @ https://github.com/arozcan/MFRC522-I2C-Library
  MFRC522.cpp - Based on ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI Library BY COOQROBOT
  miguelbalboa @ https://github.com/miguelbalboa/rfid

  Mapping @ http://www.locoduino.org/local/cache-vignettes/L610xH886/rc522_annonces_gare_0-87805.jpg?1552162449
  Si vous utilisez une carte Arduino Mega, SDA est sur le connecteur 20 et SCL sur le connecteur 21.
*/


//#define DEBUG                           // Ne pas oublier de commenter en production

//-------------------------------- Module son -----------------------------------//

#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"       // https://github.com/DFRobot/DFRobotDFPlayerMini
const uint8_t soundVolume = 20;        // Sur 30 volume maxi

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

// Plus d'infos sur DFPlayer : https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram

//-------------------------------- RC522 -----------------------------------//

#include <Wire.h>
#include "MFRC522_I2C.h"              // https://github.com/arozcan/MFRC522-I2C-Library

const uint8_t rstPin = 6;             // Pin for RST
MFRC522 mfrc522(0x28, rstPin);        // MFRC522 instance.

Les bibliothèques étant installées dans votre IDE, voyons comment fonctionne ce programme.

Tout d’abord, vous voyez que les broches 10 et 11 sont affectées au RX et au TX pour la communication avec le module son.

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX

Ensuite, on affecte à la broche 6 le RST du module RFID dont l’adresse est 0x28. Cette valeur est à changer si votre lecteur RFID opère avec une autre adresse I2C. Si vous ne connaissez pas cette adresse, vous pouvez utiliser le programme i2c-scanner donné dans l’article Bibliothèque Wire : I2C pour rechercher l’adresse de votre lecteur.

const uint8_t rstPin = 6;             // Pin for RST
MFRC522 mfrc522(0x28, rstPin);        // MFRC522 instance.
//-------------------------- Variable globales -----------------------------//


const long rc522tempo = 1 * 10UL;  // rc522tempo entre 2 lectures => 1 * 10UL = 10/1000 sec
long prev;
String uidOld;

const uint8_t nbreLocos = 3;          //Remplacer par le nbs de machines. Doit etre < 255

/*
 * Structure permettant de décrire une locomotive 
 */
typedef struct {
  uint8_t index;
  char *  tagRFID; 
  char *  nom;
  char *  identifiant;
} Locomotive;

const Locomotive locosTab[nbreLocos] = {
  {0, "04263722665D81", "YC 6400   ", 0001},
  {1, "04463722665D81", "Renault VH", 0002},
  {2, "04726922665D80", "CC-7126   ", 0003}
};

Déclaration des variables globales et initialisation de certaines d’entre elles.

const long rc522tempo = 1 * 10UL;  // rc522tempo entre 2 lectures => 1 * 10UL = 10/1000 sec

est une variable qui détermine le laps de temps souhaité entre deux lectures de tags. Nous l’avons ici réglée à 1/100 ème de seconde et obtenons ainsi des résultats satisfaisants

long prev;
String uidOld;

prev et uidOld définissent deux variables d’état dont nous reparlerons plus loin dans le programme.

const uint8_t nbreLocos = 3;          //Remplacer par le nbs de machines. Doit etre < 255

nbreLocos est le nombre de locomotives équipées de tags. Elle détermine la taille du tableau ci-dessous.

Pour gérer les tags associés à chaque locomotives, nous créons une structure que nous appelons Locomotive.

Le premier membre de cette structure correspond au numéro de la ligne, le second à l’UID de votre tag. Nous verrons plus loin comment trouver cette valeur. Notez que vous pouvez tout à fait associer un même fichier son à plusieurs locomotives (tags). Le troisième membre de cette structure correspond au nom de votre locomotive qui s’affichera dans le moniteur série de l’IDE au passage d’un tag. Enfin, le dernier membre correspond au nom du fichier son à lire au passage de la locomotive sur le lecteur.

A partir de cette structure, nous créons un tableau d’instances (objets) dont la taille est égale à nbreLocos soit 3 dans notre exemple.

typedef struct {
  uint8_t index;
  char *  tagRFID; 
  char *  nom;
  char *  identifiant;
} Locomotive;

const Locomotive locosTab[nbreLocos] = {
  {0, "04263722665D81", "YC 6400   ", 0001},
  {1, "04463722665D81", "Renault VH", 0002},
  {2, "04726922665D80", "CC-7126   ", 0003}
};

Dans le setup, nous avons l’initialisation des deux modules et le lancement de diagnostics vous permettant de savoir à travers du moniteur série de l’IDE si tout est bien installé.

//-------------------------------- setup -----------------------------------//

void setup() {
  Serial.begin(115200);                      // Initialize serial communications with the PC

  // SoftwareSerial
  mySoftwareSerial.begin(9600);              // Initialize mySoftwareSerial
  Serial.print(F("\nDFRobot DFPlayer Mini Demo\n"));
  Serial.print(F("Initializing DFPlayer ... (May take 3~5 seconds)\n"));

  if (!myDFPlayer.begin(mySoftwareSerial)) {  // Use softwareSerial to communicate with mp3.
    Serial.print(F("Unable to begin:\n"));
    Serial.print(F("1.Please recheck the connection!\n"));
    Serial.print(F("2.Please insert the SD card!\n"));
  }
  Serial.print(F("DFPlayer Mini online.\n"));
  myDFPlayer.volume(soundVolume);            //Set volume value. From 0 to 30


  Wire.begin();                              // Initialize I2C
  mfrc522.PCD_Init();                        // Initialize MFRC522
  mfrc522_printDetail();                     // Show details of PCD - MFRC522 Card Reader details
  Serial.print(F("\n"));

}

Dans le loop, nous appelons deux fonctions :

void loop() {

  mfrc522update(); // MAJ du RC522

  //Print the detail message from DFPlayer to handle different errors and states.
  if (myDFPlayer.available()) {
    DFRobotDFPlayerMini_printDetail(myDFPlayer.readType(), myDFPlayer.read());
  }
}

DFRobotDFPlayerMini_printDetail() permet d’afficher dans le moniteur série de l’IDE des diagnostics. C’est une fonction très puissante et nous vous invitons, surtout en phase de mise au point, à vous y reporter car elle risque de vous faire économiser des recherches qui peuvent se révéler fastidieuses autrement.

L’autre fonction est mfrc522update(). Voyons tout d’abord l’ensemble du code avant de l’examiner en détail.

void mfrc522update() {

  while ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    delay(50);
  }

  if (millis() > prev + rc522tempo ) {            // Verifie que la rc522tempo est depassee
    String uidNew;
    for (uint8_t i = 0; i < mfrc522.uid.size ; i++) {
      uidNew += mfrc522.uid.uidByte[i] < 0x10 ? "0" : "";
      uidNew += String(mfrc522.uid.uidByte[i], HEX);
    }

    uidNew.toUpperCase();            // On met toutes les lettres du tag en majuscules

#ifdef DEBUG
    Serial.println(uidNew);          // Permet de lire n'importe quel tag passe sur le lecteur
                                     // et d'afficher son UID
#endif

    if (uidNew != uidOld) {          // Le tag est il different ?
      for (uint8_t i = 0; i < nbreLocos ; i++) {  // Recherche dans le tableau des locos
        if (uidNew == locosTab[i].tagRFID) {

#ifdef DEBUG
          Serial.print(F("Train : \t"));
          Serial.print(locosTab[i].nom);
          Serial.print(F("\n"));
#endif

          myDFPlayer.playMp3Folder(locosTab[i].identifiant);

          uidOld = uidNew;  // On met a jour la variable uidOld

          i = nbreLocos;   // Une loco a ete trouvee, on quitte la boucle de recherche
        }
      }
    }
    prev = millis();       // On affecte a la variable prev l'heure courante
  }
}

Dans cette fonction mfrc522update() nous avons tout d’abord une boucle qui teste si un tag est présenté devant le lecteur ou si un tag a été lu.

void mfrc522update() {

 while ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    delay(50);
  }

L’execution du programme est bloquée ici. Si l’une des deux conditions est remplie, le programme peut alors se poursuivre.

if (millis() > prev + rc522tempo ) {            // Verifie que la rc522tempo est depassee
    String uidNew;
    for (uint8_t i = 0; i < mfrc522.uid.size ; i++) {
      uidNew += mfrc522.uid.uidByte[i] < 0x10 ? "0" : "";
      uidNew += String(mfrc522.uid.uidByte[i], HEX);
    }

uidNew.toUpperCase();            // On met toutes les lettres du tag en majuscules

On teste tout d’abord que la tempo fixée entre deux lectures est dépassée. Si c’est le cas, on définit une String uidNew qui servira à enregistrer la valeur du tag qui se présente en lecture.

Dans une boucle for, nous allons ensuite lire un à un les différents caractères renvoyés par le tag et ce, autant de fois qu’il y a de caractères dans l’uid du tag (mfrc522.uid.size). La longueur de l’uid est variable car les valeurs inférieures à 0x10 (hexadécimal) ne comportent qu’un seul caractère au lieu de deux dans le cas contraire. C’est aussi la raison pour laquelle nous allons ajouter un zéro (alphanumérique) pour ces caractères à la ligne suivante avec une expression ternaire : uidNew += mfrc522.uid.uidByte[i] < 0x10 ? "0" : "";

uidNew += permet d’incrémenter progressivement la variable "texte" uidNew.

Il nous reste encore une petite étape pour le "décryptage" de la valeur du tag que nous venons de recevoir. En effet, les lettres contenues dans l’identifiant peuvent être en minuscules, ex : 0x1e. La classe String avec sa fonction toUpperCase() permet de convertir tous les caractères minuscules en majuscules. uidNew.toUpperCase() ;

Dans la suite du programme, nous avons ajouté une petite fonctionnalité bien pratique : le mode DEBUG qui vous permet de lire tous vos tags et ainsi de constituer votre propre tableau locosTab.

#ifdef DEBUG
    Serial.println(uidNew);          // Permet de lire n'importe quel tag passe sur le lecteur
                                     // et d'afficher son UID
#endif

A condition que vous ayez "décommenté" la ligne 16

//#define DEBUG                           // Ne pas oublier de commenter en production

il vous sera possible d’afficher dans le moniteur série de l’IDE la valeur de n’importe quel tag passé devant le lecteur. Ceci vous sera en particulier bien pratique pour connaître par exemple l’identifiant de nouveaux tags.

if (uidNew != uidOld) {          // Le tag est il different ?
      for (uint8_t i = 0; i < nbreLocos ; i++) {  // Recherche dans le tableau des locos
        if (uidNew == locosTab[i].tagRFID) {

Dans la suite du programme, nous allons tester si cette valeur uidNew ainsi lue est différente de la valeur précédemment lue : uidOld.

Souvenez vous, en début de programme, nous avons définit la variable uidOld mais sans lui affecter de valeur. A la première lecture de tag, la valeur de uidNew est donc forcement différente de celle de uidOld. La condition sera donc vraie. Nous verrons après comment on change la valeur de uidOld.

La boucle for suivante va nous conduire à parcourir le tableau locosTab, jusqu’à ce que nous y trouvions (ou pas) une locomotive qui porte la même valeur de tag.

Pour ce faire, nous allons tester si uidNew est une valeur contenue dans une des lignes du tableau dans la colonne 1 :

if (uidNew == locosTab[i].tagRFID)

Si aucune valeur n’est trouvée, nous allons parcourir tout le tableau et sortir de la boucle sans qu’il ne se soit passé quoique ce soit.

Si au contraire, la même valeur que uidNew a été trouvée dans le tableau, alors on entre dans la condition.

#ifdef DEBUG
          Serial.print(F("Train : \t"));
          Serial.print(locosTab[i].nom);
          Serial.print(F("\n"));
#endif

          myDFPlayer.playMp3Folder(locosTab[i].identifiant);

Si DEBUG est décommenté ligne 16, on va pouvoir afficher dans le moniteur série de l’IDE le nom du train contenu dans la colonne 2 du tableau, ce qui permet de contrôler que le fichier mp3 qui est ensuite joué correspond bien au train.

uidOld = uidNew;  // On met a jour la variable uidOld

break;   // Une loco a ete trouvee, on quitte la boucle de recherche

Nous allons ensuite affecter à la variable uidOld la valeur qui vient d’être lue uidNew pour éviter d’exécuter une nouvelle fois la fonction si le même tag est lu.

Enfin, la locomotive ayant été trouvée dans le tableau, nous quittons la boucle for avec l’instruction break.

Puis l’on affecte l’heure courante à la variable prev pour un nouveau calcul de temporisation.

prev = millis();       // On affecte a la variable prev l'heure courante

Le sketch en anglais et sa version en français (commentaires et messages) sont téléchargeables avec le lien ci-dessous ainsi que les fichiers son en mp3 qui ont servis pour cet exemple auxquels nous avons ajouté quelques exemples de klaxons de locomotives :

Téléchargement du sketch Arduino
Fichiers son de l’exemple

Mise en œuvre

Voici une petite vidéo qui montre l’implantation des composants et le déclenchement des lectures quand les locomotives passent sur le lecteur (une DEL bleue sur le module sonore s’allume lors de la lecture). Ne nous tenez pas rigueur de l’inadéquation des messages avec les locomotives !

Conclusion

Voici un petit aperçu de ce qu’il est possible de réaliser avec la reconnaissance et l’identification d’une locomotive, d’un convoi mais aussi des différents wagons qui composent un train.

Ainsi, selon la locomotive concernée, il est envisageable de commuter différents aiguillages pour conduire le convoi sur le quai souhaité. Il est également envisageable d’envoyer des commandes en DCC, exemple : activer un klaxon dans la locomotive, réduire la vitesse ou passer en mode manœuvre.

Dans le projet présenté ici, nous aurions pu aussi développer facilement un écran d’affichage OLED avec les trains à l’arrivée sur le principe de ce que Gilbert nous avait présenté pour la gare d’Aurillac, mais avec ici un affichage interactif.

On peut aussi imaginer des projets beaucoup plus complexes : la création d’une butte de triage où les aiguilles seraient commutées en fonction de chaque wagon ou encore, comme le réalise actuellement Marcel (Catplus sur le forum), une base de données de la position de chaque wagon sur le réseau. Tous les lecteurs du réseau étant reliés entre eux par un bus CAN. Dans son cas, cela concernera plus de deux cents wagons !

Voilà une technologie qui est aujourd’hui fiable et abordable et qui peut largement enrichir l’interactivité sur votre réseau.

Comme d’habitude, n’hésitez pas à poser toutes vos questions auxquels nous nous efforcerons de répondre dans les meilleurs délais.

[1Ces tags sont généralement utilisés pour identifier des animaux. Pour faire une recherche sur internet, tapez "Animal verre tube tag RFID" et bien choisir ceux travaillant à 13,56 MHz pour être compatibles avec le lecteur RC522.

72 Messages

  • Annonces en gare avec la RFID 3 juin 2019 11:34, par reinsch guy

    Bonjour,

    merci pour ce projet que j’ai donc réalisé et qui fonctionne à merveille .....une super animation ....

    guy

    Répondre

    • Annonces en gare avec la RFID 3 juin 2019 15:47, par Christian

      Cela fait toujours plaisir de voir que quelqu’un a réalisé un de nos montages.
      Et des montages pour le train miniature, il y a de quoi faire sur ce site !
      Alors bon amusement à tous.

      Christian

      Répondre

  • Annonces en gare avec la RFID 14 juin 2019 14:57, par Savignyexpress

    Bonjour,

    Le module RC522 fonctionnant en I2C, est-il possible de modifier son adresse ?
    L’idée est de pouvoir connecter plusieurs modules pour détecter un train en plusieurs endroits du réseau.

    Si on place plusieurs détecteurs RFID sur le réseau, il faut que seul l’un d’entre eux communique avec la puce. Donc quelle est la portée de lecture RFID, indication permettant de définir la distance minimale entre 2 lecteurs ?

    Merci de vos réponses.
    Meilleures salutations de Suisse romande.

    Répondre

    • Annonces en gare avec la RFID 14 juin 2019 15:53, par msport

      Bonjour,
      peut-être même sans avoir à identifier l’adresse des cartes RC522 (I2Cscan), vous pouvez les multiplexer avec un tca9548a :
      https://www.generationrobots.com/fr...
      https://www.ebay.fr/itm/TCA9548A-8-...
      Quant à l’interférence entre deux capteurs, je pense que le risque est limité, le tag n’étant alimenté que par le capteur qui est en face.
      Cordialement

      Répondre

    • Annonces en gare avec la RFID 14 juin 2019 19:14, par bobyAndCo

      Bonjour,

       

      Oui j’avais regardé au moment de l’article, il est potentiellement possible de modifier l’adresse. Mais la solution proposée par msport est sans doute à privilégier.

       

      En préparant la démo du RFID, je n’avais pas voulu passer du temps sur ce sujet car en fait, cela n’a pas d’intérêt dans une logique de satellites (dans laquelle je m’inscris totalement). Logiquement, on ne devrait avoir qu’un seul lecteur RFID par satellite. CQFD

       

      Je peux comprendre que certains aient du mal avec ce concept de satellite mais je vous assure qu’il est génial, certainement perfectible, mais génial ! Mais je ne vais pas refaire l’article, après chacun est libre de faire comme il veut.

       

      Il n’y a pas d’interférence quand on a environ 10 à 12 cm entre les lecteurs RFID.

       

      Christophe

      Répondre

  • Annonces en gare avec la RFID 17 juin 2019 07:47, par Savignyexpress

    Bonjour,

    Merci à tous pour vos réponses très détaillées.

    Je réfléchis à un nouvel automatisme de va-et-vient pour la ligne à crémaillère de mon réseau N actuel où il serait intéressant de détecter le train en plusieurs endroits pour commander l’accélération, le freinage et éventuellement changer la vitesse en cours de trajet.

    La voie étant déjà posée, je me demandais dans quelle mesure les détecteurs RFID ne seraient pas la meilleure solution pour une détection installée après coup.

    Pour un tel projet, j’imagine un seul Arduino indépendant dédié à cette ligne. Je ne remets pas du tout en cause le concept de satellite, mon besoin est simplement différent !

    Meilleures salutations.

    Répondre

  • Annonces en gare avec la RFID 17 juin 2019 14:32, par Dominique

    Bonjour,
    Dans l’article Réalisation d’un va-et-vient automatique et réaliste il y a des détections dans 5 zones (gare 1, zone d’acceleration/ralentissement, zone à vitesse mesurée, zone d’acceleration/ralentissement, gare 2).
    Tout tient dans un Nano avec DCCpp, dont la reconnaissance de l’adresse de la loco unique.
    Les détecteurs de consommation sont intéressant car ils permettent de détecter le passage d’une zone à l’autre, ce que ne permet pas un détecteur RFID. C’est nécessaire pour les déclenchements des ralentissements et la mesure de vitesse.

    Ce serait très intéressant de proposer une autre forme d’automate que celle que j’ai décrite, pour rénover le sujet qui intéresse pas mal de modélistes.

    Cordialement
    Dominique

    Répondre

  • Annonces en gare avec la RFID 30 juin 2019 11:29, par Xavier

    Bonjour,
    Excellent projet, que je souhaiterai adapter pour mes besoins.
    1) J’ai donc remplacé le lecteur I2C par un SPI que j’avais en stock : pas de soucis (il pourra évoluer vers de multiples lecteurs)
    2) Je suis à la recherche de RFID autocollant de 19 mm x 12 mm : auriez vous un fournisseur à m’indiquer ?
    3) Cela m’embête de modifier chaque sketch quand la liste des trains évolue. J’envisageais donc d’écrire le N° du train dans le Tag, à l’aide d’un sketch particulier, puis d’utiliser directement ce numéro comme locosTab[i].identifiant. (Je souhaiterais en faire autant pour locosTab[i].nom afin de l’afficher sur un écran ldc I2C, et ajouter un type de train (Voyageur avec arrêt, Voyageur sans arrêt, Marchandise ...) pour de futurs évolutions)

    C’est sur ce 3eme point que je travaille actuellement !

    A terme, le sketch surveillerait un certain nombre (8) d’adresses décodeurs Dcc afin de déterminer la provenance et la destination des trains et reconstituer l’annonce :
    "Le train [NrTrain] en provenance de [Provenance] va entrer en gare [Destination] éloignez vous de la bordure du quai."

    Les trains marchandise donneraient une autre annonce
    "Attention, [Destination] au passage du train. Eloignez vous de la bordure du quai."

    Certains wagons pourraient déclencher d’autres messages.

    Je n’ai par contre aucune idée pour les annonces de départ... quel trigger ?

    Cordialement,
    Xavier

    Répondre

    • Annonces en gare avec la RFID 30 juin 2019 13:53, par Christian

      Bonjour Xavier,

      Votre projet est un beau projet pour compléter et améliorer ce montage.
      Annonces de départ ... quel trigger ? Puisque vous allez constituer un fichier pour vos trains, pourquoi ne pas y mettre l’horaire de départ (compté depuis la mise sur ON du montage) et faire surveiller par le programme si cet horaire est atteint. Si oui, annonce de départ ET départ.
      Pour que d’autres intervenants vous donnent d’autres idées, je vous invite à ouvrir votre fil sur notre forum, l’espace ici étant plutôt réservé à discuter de l’article en lui-même.
      Bonne réussite dans votre projet et tenez-nous au courant.

      Christian

      Répondre

  • Annonces en gare avec la RFID 30 juin 2019 12:39, par Dominique

    On trouve ces étiquettes RFID en cherchant sur eBay « NTAG213 »

    comme ceux-ci :
    https://rover.ebay.com/rover/0/0/0?...

    Répondre

  • Annonces en gare avec la RFID 25 octobre 2019 17:24, par Xavier Quer

    Je suppose que cette routine fonctionne lorsque le convoi va vers une direction ou vers une autre. Y aurait-il un truc ou un moyen de le faire fonctionner dans une seule direction ?
    Merci beaucoup.

    Répondre

    • Annonces en gare avec la RFID 26 octobre 2019 09:21, par bobyAndCo

      Oui plusieurs, la plus simple étant des mettre un capteur avant (effet Hall ou IR par exemple ou un autre RFID) et de détecter l’ordre des événements pour en déduire le sens !

      Sinon un gestionnaire de réseau aussi permet de connaitre les sens.

      Répondre

  • Annonces en gare avec la RFID 9 février 2020 17:15, par Alpacino

    Super tuto, très complet BRAVO !
    Est-il possible de faire tout cela sans branchement, c’est à dire avec la carte SD installé directement sur l’arduino et celle ci alimenté avec une pile adéquate ?

    Merci d’avance !

    Répondre

    • Annonces en gare avec la RFID 9 février 2020 19:22, par Christian

      Vous voudriez un shield qui s’enfiche sur la carte Arduino et qui soit capable de lire le contenu d’une carte SD si j’ai bien compris votre question ?
      Oui, cela existe pour lire des fichiers WAV ou MP3. Mais cela change l’ensemble du projet.
      Cet article fournit une solution éprouvée mais bien évidemment, il peut y en avoir d’autres.

      Christian

      Répondre

  • Annonces en gare avec la RFID 15 février 2020 11:35, par battini christian

    bonjour.je suis en train de préparer le montage annonces en gare.ma question : faut t’il 3 alimentations
    pour ce montage soit.3,3 volts 5 volts et 9 volts.merci d’avance pour votre réponse.cordialement

    Répondre

    • Annonces en gare avec la RFID 15 février 2020 14:41, par Christian

      Le 3,3 V est absolument nécessaire parce que le lecteur RFID RC522 en version I2C fonctionne en 3,3 V.
      Le 5 V est la tension d’alimentation du DFPlayer Mini, mais il peut être pris sur la carte Uno (si vous récupérez une alim de PC, c’est mieux de le prendre sur cette alim, mais pour ma part, je n’en avais pas donc je l’ai pris sur la carte Uno).
      Enfin, le 9 V est la tension conseillée pour alimenter la carte Uno via l’entrée Vin, mais on peut aussi utiliser le 12 V de l’alim de PC puisque Arduino dit que le voltage d’entrée peut être compris entre 7 et 12 V (la limite étant entre 6 et 20). Nous conseillons 9 V car cette tension sera abaissée à 5 V pour faire fonctionner la carte et ne fera pas chauffer le régulateur.
      Comme nous le disons dans l’article, une alimentation en bon état, récupérée sur un vieux PC permet d’avoir toutes les tensions nécessaires à ce montage. Evidemment, ne pas tenter de bricoler à l’intérieur de cette alimentation : ce pourrait être extrêmement dangereux.

      Répondre

  • Annonces en gare avec la RFID 17 février 2020 06:37, par battini christian

    merci pour les infos.cordialement

    Répondre

  • Annonces en gare avec la RFID 4 mars 2020 11:51, par battini christian

    bonjour.ma question:peut on se servir de la meme carte arduino uno si l’on a d’autres entrées en gare.
    je pense q’il faut un autre RFID et peut etre un autre DFPLAYER.merci d’avance pour votre réponse.cordialement

    Répondre

    • Annonces en gare avec la RFID 4 mars 2020 17:21, par Christian

      Hélas, avec ce type de lecteur, il n’est pas possible de changer l’adresse I2C ; donc, on ne peut en mettre qu’un seul par montage.
      La solution serait de faire deux montages indépendants (deux lecteurs, deux cartes Uno et deux DFPlayer) mais il faut éviter d’avoir deux messages en même temps (sinon, ce serait la cacophonie). Ceci doit être possible en faisant communiquer les cartes Uno entre elles. On peut imaginer plusieurs solutions pour cela, mais dans ce cas, on s’éloigne un peu plus du montage proposé.
      Une autre solution consisterait à changer de lecteur RFID I2C et d’en choisir un où il serait possible de changer l’adresse ; je ne sais pas si cela existe mais une recherche internet permettrait de le savoir. Ou bien, utiliser un lecteur en I2C et un autre en SPI ; encore une fois, on sort nettement du cadre de l’article.
      Des solutions existent donc bel et bien mais elles demandent un montage différent, donc un programme différent.

      Répondre

      • Annonces en gare avec la RFID 4 mars 2020 19:00, par battini christian

        merci pour votre réponse c’est très clair.cordialement

        Répondre

        • Annonces en gare avec la RFID 4 mars 2020 21:33, par msport

          On peut regarder ce qu’il est possible de faire avec un TCA9548A.

          Répondre

          • Annonces en gare avec la RFID 5 mars 2020 12:24, par Christian

            Je viens de regarder les caractéristiques de ce composant et effectivement, cette solution me paraît intéressante puisqu’elle permet de connecter 8 I2C ayant la même adresse sur le même bus I2C (donc résoudre le problème évoqué plus haut).
            Cependant, comme je ne l’ai pas utilisé personnellement, je ne peux en dire plus, mais c’est à tenter car cela permettrait d’avoir un montage avec une seule carte Uno, un seul DFPlayer et gérer les annonces plus facilement pour éviter la cacophonie dont je parlais.
            N’hésitez pas à nous tenir au courant si vous vous lancez dans ce projet.

            Répondre

  • Annonces en gare avec la RFID 4 mars 2020 23:13, par philippe

    Bonjour et bravo pour votre réalisation.

    Voici ma question : lorsqu’on achete des mini tags, ont-ils forcément un index enregistré ou peuvent-ils être vierges ?

    Cordialement.

    Philippe

    Répondre

  • Annonces en gare avec la RFID 6 mars 2020 13:50, par battini christian

    bonjour.c’est encore moi.il se produit un phénoméne que je n’arrive pas à résoudre.lorsque la loco passe sur le rfid
    pas de problème.ce que je ne comprends pas,c’est que au bout d’un certain temps, quand la méme loco repasse sur le rifd
    elle n’est pas détecté.par contre lorsque je coupe l’alim de l’arduino et que je la remet, c’est fonctionnel.merci
    pour les infos et désolé de vous solliciter.cordialement

    Répondre

    • Annonces en gare avec la RFID 6 mars 2020 19:35, par Christian

      Avez-vous modifié le programme ?
      Ce que vous pouvez faire, c’est utiliser le moniteur pour afficher par où passe le programme afin de voir pourquoi il commence par fonctionner et pourquoi ensuite il ne fait plus rien.
      Dépanner un programme n’est pas compliqué mais encore faut-il savoir où il cafouille et pour cela, rien de tel que faire afficher des messages. On voit alors quand il n’affiche plus rien (ou toujours la même chose), ce qui permet de comprendre ce qui se passe.
      Je vais y réfléchir de mon côté mais depuis que cet article est paru, le montage a été démonté. A voir avec mes deux compères si l’un d’eux a encore le montage sur son réseau.
      Si on a du nouveau, on vous le dira mais vous aurez peut-être trouvé par vous-même d’ici là.

      Répondre

  • Annonces en gare avec la RFID 6 mars 2020 20:02, par battini christian

    le programme n’a pas était modifié.je prends un exemple.le tags 1 est fonctionnel,lorsque je le représente 1 mn après
    il n’est plus fonctionnel,je présente le tags 2,il est fonctionnel,je représente le tags 1,il est à nouveau fonctionnel.
    je vais faire la manip que vous me proposez.je vous tiens au courant.

    Répondre

    • Annonces en gare avec la RFID 17 mai 2020 21:05, par Thierry verbeet

      BoNjour,

      Voici l instruction à mettre en remarque avec //
      if (uidNew != uidOld)

      + l accolade } a la ligne 38.

      Le même tag pourra être pris en charge de manière consécutive

      Thierry

      Répondre

  • Annonces en gare avec la RFID 8 mars 2020 17:05, par battini christian

    bonjour.simplement pour vous dire q’il est impossible de lire le meme tag desuite aprés avoir été lu.je pense que c’est normal.cordialement.

    Répondre

    • Annonces en gare avec la RFID 9 mars 2020 13:58, par Dominique

      Moi je pense que c’est à vous de modifier le programme selon vos souhaits. Et mettez des « Serial.print » dans votre programme pour Mettre au point !

      Répondre

    • Annonces en gare avec la RFID 9 mars 2020 15:55, par Christian

      Le mieux maintenant pour résoudre un problème logiciel serait d’ouvrir un fil sur notre forum. Il y aura plus de personnes pour vous répondre et étudier avec vous d’où peut venir la cause.
      Mais dans un premier temps il faut trouver par où passe le programme quand il reconnait une étiquette existante. Et pour cela faire des Serial.print.

      Répondre

    • Annonces en gare avec la RFID 10 mars 2020 23:39, par bobyAndCo

      Le programme est ainsi écrit pour qu’il ne lise pas une nouvelle fois le tag qui vient d’être lu :

      while ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() )

      Ce n’est pas un bug mais bien au contraire dans ce cas un résultat voulu et programmé pour tel. Il faut chercher à comprendre les programmes qui vous sont proposés.

      Christophe

      Répondre

  • Annonces en gare avec la RFID 11 mars 2020 16:39, par battini christian

    effectivement,j’ai modifié le programme pour q’il puisse lire le meme tag,en cas de retour sur la mème voie.
    pour infos je suis novice dans la programmation et j’ai quelquefois du mal à trouver les solutions.cordialement.

    Répondre

  • Annonces en gare avec la RFID 11 avril 2020 06:02, par Théo Lecourt

    Bonjour, tout d’abord, félicitation pour cette réalisation, qui laisse naître quelques idées...

    Mais une question, comme souvent, il y aura une couche de ballast, donc une protection au dessus du lecteur RFID, cela peut-il jouer sur la non détection du badge sous l’engin ?

    Merci de la réponse !

    Répondre

    • Annonces en gare avec la RFID 16 avril 2020 11:13, par Christian

      Bonjour Théo,

      Désolé si nous avons mis un peu de temps à répondre, c’est que nous avons dû faire des essais.
      Nous avons donc recouvert le détecteur d’une plasticarte de 5/10 ème, puis nous avons mis du sable par dessus qui est plus dense que le ballast qu’on trouve pour le modélisme.
      Résultat : cela fonctionne parfaitement.
      Marcel a fait quelques photos qu’il mettra sans doute sur le forum, donc consultez le dans les jours qui viennent.

      Répondre

      • Annonces en gare avec la RFID 18 avril 2020 14:41, par Théo

        Bonjour, pas de soucis, tant qu’il y a une réponse ^^

        Super, cela me conforte dans mes choix alors, car le ballast est posé sur la quasi-totalité du réseau.

        J’ai à certains endroit, un écart de 2mm, voir moins entre la traverse et le module, donc si avec du sable cela fonctionne, je ne me fais aucun soucis pour le reste !

        Merci !

        Répondre

  • Annonces en gare avec la RFID 26 avril 2020 12:50, par philippe

    Bonjour,

    je viens de réaliser votre montage : j’ai naturellement connecté le lecteur RFID sur SCL et SDA et tout fonctionne, mais je me suis rendu compte après coup que vous avez vous utilisé A4 et A5 sur votre schéma !
    Est-ce une erreur ?

    En tout cas, félicitation pour l’idée qui est excellente !

    Cordialement,

    Philippe

    Répondre

    • Annonces en gare avec la RFID 26 avril 2020 14:31, par Christian

      Nous avons utilisé une carte UNO de marque Arduino et non un clone asiatique.
      Or, sur une carte Arduino, et comme c’est expliqué dans le texte de l’article, l’entrée SDA se trouve sur A4 et l’entrée SCL sur A5.
      Ce n’est donc pas une erreur, et c’était plutôt intentionnel pour que les lecteurs puissent comprendre comment ces broches sont reliées aux sorties du microcontrôleur. Il est vrai que SDA et SCL se trouvent aussi sur le connecteur opposé sur une carte de marque Arduino mais ce n’est peut-être pas le cas sur certains clones (nous ne pouvons connaître toutes les marques). Or A4 et A5 se trouvent bien sur toutes les cartes UNO quelle que soit l’origine. Il était donc plus simple de faire ainsi.

      Répondre

  • Annonces en gare avec la RFID 19 juin 2020 22:03, par Dominique

    Bonjour, merci de nous proposer ce montage qui donne une ambiance certainement très sympathique pour nos réseaux. J’ai commencé a regarder sur le net pour acquérir le matériel nécessaire pour le montage mais je ne trouve pas cette élément : Lecteur RFID RC522 en version I2C v1.1. Peut être avez vous un lien à me communiquer pour l’achat de celui-ci. Je suis débutant dans le domaine donc sans expérience pour l’achat de l’ensemble du matériel. Merci beaucoup.
    Bien cordialement Dominique

    Répondre

    • Annonces en gare avec la RFID 20 juin 2020 09:44, par Christian

      Il suffit de taper la référence RC522 I2C dans la barre de recherche de votre navigateur pour trouver où l’acheter.
      Par exemple, vous le trouvez sur Amazon à des prix plus que variables (de 8 à 18 euros), mais aussi chez Banggood pour 8 $.
      Le moins cher que j’ai pu trouver ce matin est sur Ebay à moins de 4 euros. Mais je me suis arrêté là et il y a peut-être moins cher si vous achetez un lot.

      Répondre

      • Annonces en gare avec la RFID 20 juin 2020 22:37, par Dominique

        Bonsoir, merci beaucoup pour votre réponse, je vais chercher donc sur eBay. J’espère pouvoir réaliser ce projet pour mon réseau. A bientôt. Dominique

        Répondre

  • Annonces en gare avec la RFID 28 janvier 2021 11:36, par jacko

    bonjour ; je suis un peu léger dans le domaine Arduino je viens de commencer .pourrais je utiliser un contact de cellule pour démarrer la lecture du massage a la pace d’un tag . et comment faire la connexion merci.

    Répondre

    • Annonces en gare avec la RFID 28 janvier 2021 14:37, par Christian

      Vous voulez parler d’une cellule photoélectrique ?
      Bien évidemment, n’importe quel capteur peut déclencher une annonce en gare. Je vous conseille de consulter l’article 4 sur le passage à niveau car cela revient à cela (projets ferroviaires de niveau 2).
      Mais l’intérêt de la RFID, c’est de pouvoir identifier le train et ainsi faire l’annonce qui lui correspond. Si vous voulez remplacer la RFID par un capteur tout simple, ce n’est plus le même projet mais l’article que je vous conseille vous donnera déjà un point de départ.

      Répondre

  • Annonces en gare avec la RFID 23 novembre 2021 09:57, par SERAUT

    Bonjour, je suis novice votre annonce en gare m’intéresse mais je voudrais également mettre du bruitage à mon train type évacuation de vapeur, klaxon, bruit de l entraienement des roues, est-ce possible ? et comment ? Je précise avoir une loco vapeur PIKO analogique.
    Merci pour votre réponse
    Bien cordialement

    Répondre

  • Annonces en gare avec la RFID 23 novembre 2021 15:16, par msport

    Bonjour,
    comme l’indique cet article, ici, la production des sons n’est pas intégrée à la locomotive. A partir de là, le tag RFID peut être collé sous elle et déclencher n’importe quel son à n’importe quel endroit. Il ne vous reste plus qu’à vous procurer les sons qui vous intéressent et les mettre sur la carte SD comme décrit plus haut. Avec Google, vous en trouverez un certain nombre gratuits.
    Cordialement

    Répondre

  • Annonces en gare avec la RFID 3 décembre 2021 17:38, par jacko

    bonjour , j’ai fait le montage pour l’annonce en gare mais je voudrais déclencher l’annonce au passage d’un train sous une cellule infra rouge sans utiliser de module RFID . Comment dois je modifier dans le programme je débute dans ce domaine merci ;je précise qu’avec ma cellule je peux envoyer un positif ou un négatif sur l’entrée de la carte nano .merci pour votre aide cordialement j.muscat

    Répondre

    • Annonces en gare avec la RFID 3 décembre 2021 17:58, par Christian

      C’est votre droit d’utiliser une cellule au lieu du module RFID mais dans ce cas, tous les trains déclencheront la même annonce : plutôt lassant à mon avis.
      On n’envoie jamais de négatif sur une carte Arduino qui n’accepte que des tensions positives comprises entre 0 et 5 V. Le faire entrainera la destruction de votre carte.
      Réaliser un projet tel qu’il est décrit ne demande que peu de connaissances puisqu’il suffit de copier ; vouloir modifier un projet demande tout de même une certaine habitude d’Arduino. Je vous invite donc à bien évaluer votre niveau avant de vous lancer et éventuellement consolider vos connaissances avec les articles de ce site, notamment mon cours d’électronique publié dans la rubrique pour débutant. Enfin, pour de l’aide sur un projet technique, le mieux est d’ouvrir un fil sur notre forum.
      Cordialement.

      Répondre

    • Annonces en gare avec la RFID 6 décembre 2021 11:09, par msport

      Bonjour,
      je pense que vous pourriez vous inspirer du programme de ce montage :
      Cordialement

      Voir en ligne : Passage à niveau géré par Arduino

      Répondre

  • Annonces en gare avec la RFID 5 avril 2022 20:06, par Bernard28

    Bonjour à tous.
    J’ai découvert ce super site il y a déjà quelques temps et je me suis lancé sur ce projet qu’est les "Annonces en gare avec la RFID"
    J’ai fait le montage et adapté les UID de mes tags. lorsque je lance la vérification du sketch, j’ai un le message suivant :

    ’MFRC522_I2Ctempo’ was not declared in this scope.

    Commençant dans l’univers Arduino et le train miniature, j’ai encore du mal à tout comprendre.

    Merci de l’aide que vous pourriez m’apporter.
    Bernard

    OS Windows 7, et essais avec l’IDE 1.6.10 et 1.8.19 avec le même message d’erreurs.

    Répondre

    • Annonces en gare avec la RFID 6 avril 2022 09:43, par Christian

      Plusieurs choses manquent pour qu’on vous aide :

      • est-ce que vous avez utilisé une carte Uno ? Si oui, de marque ou un clone ?
      • la bibliothèque étant fournie, comment l’avez-vous installée ? Via le ZIP ou bien directement via le gestionnaire ?
      • avez-vous modifié le programme fourni ou non ?
        Enfin, vous faites ce que vous voulez, mais W7 est un peu dépassé. On en est à W11 et les mises à niveau sont gratuites. Si W11 ne peut être installé sur votre machine, travaillez avec W10 au minimum.
        Ouvrez un fil sur le forum et vous obtiendrez plus d’aide qu’ici. A consulter :
        https://locoduino.org/spip.php?arti...

      Répondre

  • Annonces en gare avec la RFID 5 avril 2022 21:03, par msport

    Bonsoir,
    probablement une faute de frappe ou de recopie, je ne vois pas trace de "MFRC522_I2Ctempo" dans le sketch.
    Cordialement

    Répondre

  • Annonces en gare avec la RFID 17 mai 2023 15:56, par battini christian

    bonjour.j’ai réalisé les annonces en gare,tout fonctionne correctement.je viens de réaliser un troisième montage.je ne comprends pas pourquoi le df player n’émet pas de son,alors que lorsque je présente le tag il est bien lu,sachant que le programme est ok.cordialement.

    Répondre

    • Annonces en gare avec la RFID 17 mai 2023 18:08, par Christian

      Comme nous l’avons expliqué dans notre article "Où et comment demander de l’aide ?", rubrique Pour débuter, il faut ouvrir un fil sur le forum et décrire votre problème précisément car ici, il est difficile de faire la part des choses entre ce qui fonctionne et ce qui ne fonctionne pas. En effet, vous dites "tout fonctionne correctement" et plus loin "le df player n’émet pas de son". Et vous parlez d’un troisième montage : est-ce que vous voulez dire que vous en avez fait deux qui fonctionnent et pas le troisième, ou bien est-ce une adaptation de ce que nous avons publié ?
      Avez-vous essayé de faire une recherche de panne par vous-même ?
      Commencez par poster une photo de votre montage qui nous permettra de voir si les connexions sont bien faites.
      Cdlt.

      Répondre

  • Annonces en gare avec la RFID 17 mai 2023 18:19, par battini christian

    bonsoir.j’en ai fait 2 qui fonctionne.ce montage est la copie conforme des 2 autres .cordialement

    Répondre

    • Annonces en gare avec la RFID 19 mai 2023 09:42, par Christian

      Dans ce cas, il faut trouver ce que vous avez fait différemment et sans le vouloir pour ce troisième montage.
      Vérifiez chaque composant en les montant sur un des montages qui fonctionne, comme par exemple le lecteur df player. Vérifiez que la carte SD possède bien les fichiers son.
      Vérifiez vos connexions entre les éléments. Le problème est certainement plus matériel que logiciel, sauf si vous avez modifié le programme. Dans ce cas, revenez au programme donné dans l’article.
      Dernier point : comment est alimenté ce troisième montage ? A vérifier également.
      Bon courage.

      Répondre

  • Annonces en gare avec la RFID 4 janvier 22:39, par Jeff

    Bonjour à toutes et à tous,
    Avant tout, en ce début d’année, Belle Année à toutes et à tous.
    Je découvre tardivement cette possibilité d’annonces en gare avec la RFID. Afin de me créer une sonothèque d’annonces personnalisées, avez vous un logiciel de création de messages à me suggérer ? (ou au "pire" un site permettant la création de messages en ligne ?)
    J’ai essayé eSpeak avec la voix "Hortense", mais cette option (y compris en ajoutant un peu d’écho) me parait trop éloignée de la voix de Simone Hérault. Existe-t-il un logiciel qui permette de s’approcher de sa voix ?
    Un GRAND Merci par avance.
    Jeff

    Répondre

    • Annonces en gare avec la RFID 5 janvier 10:42, par Christian

      Il existe effectivement des logiciels qui délivrent un fichier sonore MP3 en fonction d’une phrase que vous entrez ; plusieurs modélistes les ont utilisés et en parlent sur les forums. Mais la voix synthétique n’est pas celle de la SNCF. Vous pouvez faire une recherche avec Google.
      Une autre possibilité est de vous constituer vous-même votre sonothèque en allant enregistrer des annonces directement en gare, celles que vous voulez reproduire par exemple. De tels enregistrements existent aussi sur internet : une recherche vous permettra peut-être de récupérer des sons intéressants.

      Répondre

      • Annonces en gare avec la RFID 5 janvier 11:15, par Jeff

        Bonjour Christian,
        Merci pour ces infos.
        Je pense de fait passer quelques semaines à récupérer des vidéos avec LA voix SNCF, et quelques mois derrière l’ordi à faire les découpes et la construction des phrases qui m’intéressent.
        Encore merciii

        Répondre

        • Annonces en gare avec la RFID 5 janvier 11:25, par Christian

          Je pense que c’est le plus simple.
          Pour un enregistrement en gare, la qualité des messages est souvent très mauvaise au haut-parleur, mais en choisissant bien le site et avec un bon matériel, cela reste envisageable.
          Commencez par le plus simple : vidéos ou films en DVD/Bluray. Bonnes recherches.

          Répondre

    • Annonces en gare avec la RFID 5 janvier 14:54, par msport

      Bonjour,

      dans l’article 322, je signalais le site https://freetts.com/ pour créer vos annonces en gare, gratuit en pratique.

      0 / 200 characters | Current Limit : 1000 characters per week.

      5 voix françaises.

      Cordialement

      Voir en ligne : Signalisation et sonorisation du va-et-vient pour deux trains

      Répondre

  • Annonces en gare avec la RFID 25 février 20:06, par Alain

    Bonjour,
    Avant tout merci pour ce site et particulièrement ce projet qui est exactement ce que je souhaitais faire
    je me suis donc lancé dans la réalisation
    premier soucis :ma carte RFID RC522 n’est pas tout à fait comme la vôtre
    les broches ne sont pas dans le même ordre et surtout, je n’ai pas de SCL mais j’ai une SCK et deux broches en + : MOSI et MISO
    pouvez vous m’aider à bien câbler ?
    et est ce que ça change le sketch ?
    autre point : j’ai des micro SD card Adapter, a priori prévu pour lire des x.WAV , peut on les utiliser pour lire des MP3 ?
    Sur votre schéma de branchement de la carte MP3 pouvez vous ajouter les noms des bornes ?
    merci par avance

    Répondre

    • Annonces en gare avec la RFID 26 février 10:49, par Christian

      Vous avez un lecteur RFID qui communique en SPI alors que l’article utilise un lecteur RFID qui communique en I2C. De plus, nous n’utilisons pas de lecteur de carte SD mais d’un mini lecteur qui contient sa propre carte SD (le DFPlayer Mini). Nos composants se trouvent à prix modique sur internet.
      Soit vous reproduisez le montage tel qu’on l’a publié, soit vous faites le travail d’adaptation pour utiliser vos composants. Désolé de vous le dire, mais nous ne pouvons pas faire le travail à la place des lecteurs. Sachez cependant qu’il n’est pas très compliqué de modifier le schéma et le programme pour quelqu’un qui a un minimum de connaissance en Arduino, mais que le jeu n’en vaut pas la chandelle dans la mesure où les composants de ce montage sont bon marché et se trouvent facilement, et que le montage fonctionne parfaitement ainsi.

      Répondre

  • Annonces en gare avec la RFID 27 février 10:23, par Alain

    Bonjour,
    merci pour votre réponse
    claire , rapide , impeccable
    je comprends que vous ne souhaitiez pas réécrire l’article à chaque remarque de lecteur
    je suis de votre avis il sera plus rapide et fiable de le reproduire en l’état
    j’ai cherché des cartes RFID I2C , je n’en trouve pas chez AZ Delivery (mon fournisseur habituel de ce genre de cartes, je les ai sollicité par mail et m’ont confirmé ne pas faire) , je n’en ai pas trouvé sur Amazon, pourtant bien achalandé (une seule à 43€ vendue par un chinois )
    je n’ai pas assez confiance en Ebay, Temu ou Aliexpress, connaissez vous un fournisseur fiable ?
    Cordialement
    Alain

    Répondre

    • Annonces en gare avec la RFID 27 février 11:19, par Christian

      Une recherche avec Google permet de trouver :
      https://www.elecbee.com/fr-26095-RC...
      Il est aussi chez Amazon mais plus cher.
      Nous considérons Ebay et AliExpress comme des fournisseurs fiables, mais ce n’est que notre point de vue.
      Cdlt.

      Répondre

      • Annonces en gare avec la RFID 27 février 12:18, par Christian

        Chez Amazon :
        https://www.amazon.fr/beaucoup-lect...
        Le prix est pour deux pièces (d’après l’intitulé) mais vous ne pourrez pas utiliser les deux pièces dans un même montage car pas de possibilité de changer l’adresse I2C. Soit vous aurez un lecteur de secours (au cas où), soit vous ferez le montage en double (sifflet à l’entrée d’un tunnel par exemple). Dernière solution, vous en faites bénéficier un copain...

        Répondre

  • Annonces en gare avec la RFID 29 octobre 12:11, par PERATO Dominique

    Bonjour,
    J’essaye de comprendre pourquoi je n’arrive pas à faire fonctionner cette partie :
    const uint8_t nbreLocos = 3 ; //Remplacer par le nbs de machines. Doit etre < 255

    typedef struct
    uint8_t index ;
    char * tagRFID ;
    char * nom ;
    char * identifiant ;
    Locomotive ;

    const Locomotive locosTab[nbreLocos] =
    0, "04263722665D81", "YC 6400 ", 0001,
    1, "04463722665D81", "Renault VH", 0002,
    2, "04726922665D80", "CC-7126 ", 0003
     ;

    Je reçois ces erreurs :
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
     ;
    ^
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : invalid conversion from ’int’ to ’char*’ [-fpermissive]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : invalid conversion from ’int’ to ’char*’ [-fpermissive]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : ISO C++ forbids converting a string constant to ’char*’ [-Wwrite-strings]
    D :\Documents\Arduino\Test_tableau\Test_tableau.ino:19:1 : warning : invalid conversion from ’int’ to ’char*’ [-fpermissive]
    Le croquis utilise 444 octets (1%) de l’espace de stockage de programmes. Le maximum est de 30720 octets.
    Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 2039 octets pour les variables locales. Le maximum est de 2048 octets.

    Pouvez vous m’aider svp.
    J’ai testé sur MEGA 2560 Elegoo, NANO chinoise, NANO originale, NANO CS32 et rien n’y fait
    Merci
    Dominique

    Répondre

    • Annonces en gare avec la RFID 5 novembre 11:12, par Christian

      Bonjour,
      Pour toutes demandes d’aide sur un projet, il faut ouvrir un fil sur notre forum, comme expliqué sur le site.
      Cordialement.

      Répondre

      • Annonces en gare avec la RFID 5 novembre 13:44, par PERATO

        Je me demande bien à quoi sert le formulaire en bas de page...
        Laissez tomber, je finirai bien par trouver la réponse.
        Bien à vous.

        Répondre

        • Annonces en gare avec la RFID 5 novembre 14:31, par Christian

          Le formulaire en bas d’article sert à poser des questions sur l’article, ce qui n’est pas clair par exemple, dans un but d’amélioration de cet article.
          Notre forum sert à l’entraide entre membres et donc à résoudre ce qui peut arriver sur un projet.
          Nos règles sont clairement expliquées dans l’article "Où et comment demander de l’aide" ; si vous voulez qu’on vous réponde, il faut suivre ces règles et ne pas exiger une réponse de notre part mais à votre façon.
          La balle est donc dans votre camp ; je ne doute pas que vous puissiez trouver la réponse par vous-même puisque les messages d’erreur semblent indiquer un problème de conversion entre chaine et valeur si j’ai bonne mémoire. A vous de voir...

          Répondre

Réagissez à « Annonces en gare avec la RFID »

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 « Projets »

Les derniers articles

Les articles les plus lus