HardwareJ’ai plusieurs fois indiqué MAM. De quoi s’agit-il?
MAM signifie Module d’Animation Modéliste. Vous trouverez de plus amples informations
ici, sur le site de son concepteur Philippe Chavatte, avec qui j’ai travaillé pour tester ce montage. Il regroupe les fonctions suivantes sur un même PCB et permet de nombreuses variantes à découvrir ou à créer.
- Décodeur accessoire DCC
- Sonorisation (DFPlayer avec ou sans amplification complémentaire)
- I2C (Afficheur lcd …)
- Commandes de servomoteurs ( 8 )
- Amplificateur collecteur ouvert ( 8 )
- Boutons poussoirs (unitaires ou multiples) / interrupteurs
- OU 4 entrées (occupation des voies)
- Alimentation à partir du DCC ou de 12V extérieur
TéléchargementsLe sktech
MAM-ReadRFID à charger sur l'arduino nano de MAM pour former MAM-ReadRFID (De nombreuses fonctionnalité de MAM n'étant pas utilisées, il sera peut-être préférable de ne pas utiliser MAM)
Le sktech
MAM-Gare à charger sur l'arduino nano de MAM pour former MAM-Gare
Les
MP3 : Ils sont donnés à titre d’exemple mais vous pourrez les remplacer par ceux qui vous conviennent. (J’utilise Audacity pour découper, ajuster, standardiser mes enregistrements MP3)
Ils seront copiés sur la carte micro SD du DFPlayer. Ils seront placés dans le répertoire \MP3. Leur nom devra impérativement commencer par un nombre à 4 chiffres qui sera chargé dans les CV, le Rfid.
Notez que le fichier correspondant doit exister dans la carte SD du DfPlayer, faute de quoi, il ne pourra être joué.
Arbitrairement j’ai regroupé les fichiers par intérêt, comme suit:
Base | Type |
0-39 | (40) Général annonces |
50-69 | (20) Quais |
70-89 | (20) Gares |
90-139 | (50) Trains |
150-179 | (30) Animaux |
170-199 | (20) Véhicules |
200-255 | (55) Ambiance |
CommandesPour paramétrer, tester mes programmes j’ai choisi d’utiliser l’USB et le moniteur de l’IDE.
De toute façon, il vous faudra charger les sketch: L’IDE est là pour vous permettre de la faire simplement. De plus il met à votre disposition le moniteur, ce qui vous permet de dialoguer avec vos sketches: voir les messages d’erreur, le déroulement du programme, mais aussi passer des commandes pour paramétrer et simuler le fonctionnement!
ParamétrageLe paramétrage permet d’adapter le fonctionnement du sketch à vos besoins. Il se fait comme pour les décodeurs DCC sous forme de CV ou de variables sauvées en Eeprom (récupérables au démarrage du montage)
Les valeurs de CV par défaut sont automatiquement initialisée quand le CV témoin (volume ou Numéro esclave) vaut 255, c’est à dire quand l’Arduino est neuf (Toutes les valeurs de l’EEPROM sont alors à 255).
Pour remettre tous les CV par défaut, il suffit donc d’affecter la valeur 255 au CV témoin (voir plus loin) puis de faire un Reset du module. (La commande R en fait autant, comme on le verra par la suite).
Le paramétrage des sketches se fait par USB. Les commandes peuvent être envoyées par :
- Le Moniteur de l'IDE Arduino (115200 Bauds, 8 bits, NL et CR)
Il est aussi possible de tester le fonctionnement du sketch grâce à ces commandes.
Lors de son initialisation, le sketch chargé dans l'Arduino
- Indique son nom et sa version (@)
- Liste les commandes qu'il reconnaît (&)
- Liste ses paramètres et leur valeur (?)
Le paramétrage des RFID se fait à l’aide du sketch
MAM-ReadRfid, permettant de modifier pour chaque RFID les informations permettant de reconnaître le train ou l’événement correspondant: ces informations, utilisées par ce même sketch, permettent de ne pas modifier la configuration de chaque décodeur lors de l’introduction, la modification ou la suppression d’un train.
Mode ligne de commandeToutes les commandes que j’utilise sont toutes formatées de la même manière:
Un préfixe sur 1 caractère (non sensible à la casse) immédiatement suivit de paramètres séparés par des espaces.
Elles sont décrites ci dessous dans le tableau Générique quand elle s'appliquent à tous les sketches, ou dans le tableau correspondant au sketch quand elles lui sont dédiées.
Commande | Fonction | Générique MAM |
? | Aide | Liste des commandes disponibles |
& | Liste | Liste des valeurs des paramètres |
@ | Identification Sketch | Identification du sketch chargé ex: MAM-Gare V0 |
{a v | Set CV | Programmation CV :Adresse (0-255) Valeur(0-15) {1 255 permet de réinitialiser les CV |
}a | Get CV | Lecture CV : Adresse (0-255) } affiche toutes les CV via USB |
Vv | Volume | Niveau sonore DfPlayer (0-30) |
Jj | Joue | Joue fichier MP3 identifié par son N°(1-255) |
Z | Stop | Stop le MP3 en cours. |
Commande | Fonction | MAM ReadRfid & MAM GaresMAM |
R | Reset CV | Remet les CV du décodeur à leur valeur initiale. |
Tn v | Turnout | Test le changement de position de l’aiguillage suivi n en position v en absence de DCC |
An t | Annonce | Test une annonce en absence de RFID (on indique le N° du train et son type) |
# | Affiche données RFID | Affiche le contenu du RFID devant le lecteur sous forme hexadécimale. |
G | Get RFID CV | G<Bloc> <N° 1er CV dans le bloc> <Nombre de CV> Affichage des CV du RFID devant le lecteur sous forme hexadécimale. |
S | Set RFID CV | S<Bloc> <N° CV dans le bloc> <Valeur du CV> S<Bloc> #<Valeur de la chaîne> Définit le ou les CV du RFID devant le lecteur Les chaînes ont 16 caractères maximum! |
D | Définit DCC | D<n> <Adresse DCC> Définit l'adresse DCC à suivre en position n |
Ces commandes peuvent être utilisées à tout moment pour paramétrer, tester le fonctionnement du montage.
Paramétrage des fichiers MP3 utilisésLes fichiers MP3 utilisés sont enregistrés dans la carte micro SD du DFPlayer monté sur MAM-Gare.
Chaque des fichiers correspond à un CV: voir tableau ci dessus.
On utilisera la commande {a v pour modifier ces numéros de fichiers.
Les parties fixes des messages ne sont pas gérées par des CV mais fixées par le sketch
Paramétrage des Gares de provenance et des voies de destinationJe vous propose de commencer par imprimer le tableau suivant et le compléter à la main avec:
Le N° du fichier MP3 correspondant, dans les cases Gare et Voie.
Les adresses DCC des aiguillages, dans les cases adresses Aiguillage
Voir image en bas de pageVous utiliserez ces informations pour modifier les CV correspondants à l'aide de la commande {a v
Si un CV vaut 255, la gare ou la voie correspondant ne sont pas définis.
Paramétrage des aiguillages surveillésCe paramétrage est à faire pour chacune des entrées de gare, chacune étant équipée d'un lecteur RFID associée à
MAM-ReadRFID.
Si vous demandez la liste des paramètres à l'aide de la commande &, les adresses surveillées s'affichent sous la forme suivante:
Dcc surveilles (0 à 9)
100 105 111 112 115 145 146 147 148 149
On utilisera la commande Dn a pour définir l'adresse a en position n(de 0 à 9).
Les adresses des aiguillages sont définies sur 9 bits, comme pour tous les décodeurs d’accessoire.
Les CV 30 à 49 contiennent les adresses des adresses DCC à surveiller. On aurait pu utiliser la commande {a v pour modifier ces adresses mais la commande Dn a est plus simple!
Une adresse complète tient sur 9 bits, soit 512 combinaisons ou adresses.
Voir image en bas de pageUne fois les CV configurés, le moniteur affichera, à chaque commande accessoire reconnue, les informations utiles pour associer les fichiers MP3 correspondants aux provenances et destinations.
Vous pouvez aussi utiliser la commande Tx y pour simuler la position de l'aiguillage x en position y
Le moniteur série indique alors: | Set Turnout x à y |
Position des différents aiguillages surveillés | 10010100 |
N° MP3, CV correspondant = Valeur du CV | Provenance : 4 CV 184 = 255 |
N° MP3, CV correspondant = Valeur du CV | Destination : 18 CV 68 = 50 |
Test du montageLes étapes suivantes devraient vous permettre de tester votre montage. Suivez les dans l'ordre, et faite le pour chaque entrée de gare (sauf le paramétrage des RFID).
Paramétrage des RFIDLe Paramétrage des RFID s'effectue sur le module MAM à l'aide du sketch
MAM-ReadRFIDPlacer le RFID sur le lecteur.
La commandes USB Sb n v permet de modifier la valeur du bit n du bloc b avec la valeur v
Nom de la locomotiveS2 #«Nom du train» ou «Nom du train» est une chaîne alphanumérique de maximum 16 caractères
"S2 #ABJ4" 2=Block #ABJ4=char[16] 1=NA
N° du MP3S1 0 v ou v sera une valeur décimale de 0 à 255
"S1 0 116" 1=Block 0=CV 116=valeur du CV
Type de trainS1 1 v
v=0 pour les trains omnibus
v=1 pour les trains sans arrêt (marchandise)
v=2 pour les grèves
v=3 pour les retards
"S1 1 1" 1=Block 1=CV 1 =valeur du CV
Vérification des CV RFIDLa vérification se fait avec la commande USB Gb n m
G2 #nom pour le nom du train
G1 0 1 pour le N° du MP3 (en hexadécimal)
G1 1 2 pour le type de train
Vous pouvez aussi obtenir ces informations plus simplement...
Placer le RFID sur le lecteur. Vous obtiendrez sur le moniteur série de l'IDE:
Retirer le RFID du lecteur. Vous obtiendrez sur le moniteur série de l'IDE:
Vérifier les CV de MAM-GareUtilisez le moniteur série de MAM-Gare avec la commande }a
| CV |
Volume | 15 |
Adresse 1er esclave I2C | 16 |
Nombre d'esclaves | 17 |
MP3 Jingle SNCF | 100 |
MP3 | 101 à 104 120 et 121 |
Modifiez si nécessaire ces CV avec la commande {a v
Vérifier les CV de MAM-ReadRFIDUtilisez le moniteur série de MAM-ReadRFID avec la commande }a
| CV |
Adresse esclave | 16 |
Adresses DCC des appareils de voie surveillés | 30 à 49 |
Numéro MP3 standard annonces | 200 à 260 |
Numéro MP3 de provenance | 180 à 188 |
Numéro MP3 de destination | 50 à 177 |
Modifiez si nécessaire ces CV avec la commande {a v
Paramétrage du volumeLe DfPlayer est monté sur le moniteur série de
MAM-Gare. Utilisez le moniteur série de
MAM-Gare avec la commande Vv permet d'ajuster le volume sonore de 0 à 30 maximum
Pour une modification permanente, modifiez le CV 15 avec la commande {15 v
Simuler un message en provenance de MAM-ReadRFIDSur le moniteur série de
MAM-Gare entrez la commande suivante:
"J3_97_4_70_5_51_6"
Vous devez alors entendre le message suivant:
"Le train 8250 En provenance de Arvant va entrer en gare Voie B. Éloignez vous de la bordure des quais"
Le moniteur série indique alors:
Joue Annonce :1_3_97_4_70_5_51_6
Play 1 ? Done
Play 3 ? Done
Play 97 ? Done
Play 4 ? Done
Play 70 ? Done
Play 5 ? Done
Play 51 ? Done
Play 6 ? Done
Tester la communication entre MAM-ReadRFID et MAM-GareConnecter
Mam-ReadRFID et
MAM-Gare en I2C (GND-SCL-SDA)
Sur MAM-ReadRFID Utiliser le moniteur pour simuler le message a envoyer
"M3_97_4_70_5_51_6"
En réponse, vous obtiendrez:
Message : 3_97_4_70_5_51_6
sending value (20) : 11P3_97_4_70_5_51_6
Sur le moniteur série de
MAM_Gare vous devriez voir arriver et exécuter la commande identique à la simulation précédente:
recieved (20) : 11P3_97_4_70_5_51_6
P
Annonce :1_3_97_4_70_5_51_6
Play 1 ? Done
Play 3 ? Done
Play 97 ? Done
Play 4 ? Done
Play 70 ? Done
Play 5 ? Done
Vous devriez aussi entendre le même message.
"Le train 8250 En provenance de Arvant va entrer en gare Voie B. Éloignez vous de la bordure des quais"
Test de la chaîne RFID-DFPlayerOn peut maintenant utiliser les RFID programmés précédemment.
En plaçant le RFID sur le lecteur couplé à
MAM-ReadRFID on doit immédiatement voir apparaître sur le moniteur série associé les informations de ce RFID:
Rfid :769A6B51
Nr 90
Type 0
32 32 32 32 32 32 32 32 32 32 32 32 32 32
232TC
Le train 90 En provenance de 70 va entrer en gare 50 Eloignez vous de la bordure des quais
769A6B51 retire
Simulation des changements d'aiguillages surveillésSur le moniteur série de
MAM-ReadRFID entrez la commande suivante:
Tn v
Ou n indique le numéro d'ordre de l'appareil de voie surveillé et v indique sa position.
Vous verrez immédiatement sur ce moniteur série l'état actuel des 8 adresses surveillées ainsi que les CVs de destination et de provenance suivis de leur valeur c'est à dire au N° de MP3 servant à constituer l'annonce:
====
0010010110
Provenance : 6 CV 186 = 70
Destination : 18 CV 68 = 50
Vous pouvez alors modifier ces Cvs si nécessaire.
N'oubliez pas que vous pouvez entendre le MP3 correspondant en utilisant la commande Jj sur
MAM_Gare.
Vous êtes désormais prêt à connecter le signal DCC sur
MAM-ReadRFID afin qu'il utilise la position des appareils de voie pour constituer ses messages.
Utilisez le moniteur série de
MAM-ReadRFID pour verifier l'état des appareils de voie, au moins dans un premier temps, avant de passer à un second
MAM-ReadRFID correspondant à une autre entrée de la gare.
Un module SceNic regroupant différents projets Arduino est en cours de construction:
- Annonces Gare RFID
- Passage à niveau SAL (avec signaux lumineux et cloche)
- Simulation Jour Nuit accelérée, éclairage publique et cloche du village
- Appareils de voie par Servomoteur
- Signaux mécaniques rotatifs
- Deteleur Kadee/Microtrain
Je posterai une vidéo dès que possible.