Auteur Sujet: Contrôle des aiguillages à partir du central DCC++.  (Lu 9446 fois)

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Contrôle des aiguillages à partir du central DCC++.
« le: avril 01, 2022, 08:51:31 am »
Bien que le titre de ce nouveau sujet puisse sembler être le même que le précédent, le sujet est différent.
Je fais fonctionner mon modèle avec un central DCC++ avec la bibliothèque Locoduino, et une connexion Bluetooth. Mon projet comporte 9 aiguillages à solénoïde qui sont actionnés par un décodeur composé d'un Nano, d'un multiplexeur MCP23017 et de l'ULN2803 correspondant. Et tout fonctionne parfaitement, et je contrôle tout avec un smartphone, ou avec le PC (RocRail, JMRI,..).

J'ai récemment ajouté un écran tactile TFT au central avec lequel je peux contrôler quatre locomotives simultanément, avec leurs fonctions correspondantes (j'inclus une photo).
Et maintenant je voudrais ajouter 9 boutons poussoirs pour contrôler les aiguillages, sans oublier le Bluetooth et le contrôle par PC.
Aucune idée, aucune aide,
Merci beaucoup à tous,
Juan

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #1 le: avril 01, 2022, 09:38:13 am »
C’est juste une question de logiciel : ajouter la gestion des boutons poussoirs à votre logiciel, et les associer aux commandes d’aiguilles.

Exemple comme toujours dans le va et vient qui greffe la gestion de boutons et capteurs sur DCCpp  sans perdre les commandes via usb ou série ( https://www.locoduino.org/spip.php?article232) où vous pourrez trouver inspiration.

La bibliothèque « Commander » peut aussi être utilisée.
« Modifié: avril 01, 2022, 09:44:54 am par Dominique »
Cordialement,
Dominique

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #2 le: avril 01, 2022, 08:59:29 pm »
Merci beaucoup Dominique, mais après une première lecture du Va et Vient, ... je n'ai rien clarifié. Je veux gérer les aiguillages, et il n'y en a pas dans le VV.
Pourriez-vous être un peu plus explicite ?
Encore une fois, merci beaucoup,
Juan

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #3 le: avril 01, 2022, 09:48:39 pm »
Bonsoir,

il faut envoyer sur le Rx de la centrale DCC++ les séquences prévues par Greg E. Berman qui a codifié les commandes pour les aiguillages de la manière suivante :
< a ADDRESS SUBADDRESS ACTIVATE >.
Sont donc nécessaires :
pour l’adresse 1 : <a 1 0 1> pour normal puis <a 1 0 0 0> pour dévié.
pour l’adresse 2 : <a 1 1 1> pour normal puis <a 1 1 0 0> pour dévié.
pour l’adresse 3 : <a 1 2 1> pour normal puis <a 1 2 0 0> pour dévié.
pour l’adresse 4 : <a 1 3 1> pour normal puis <a 1 3 0 0> pour dévié.
pour l’adresse 5 : <a 2 0 1> pour normal puis <a 2 0 0 0> pour dévié.
pour l’adresse 6 : <a 2 1 1> pour normal puis <a 2 1 0 0> pour dévié.
pour l’adresse 7 : <a 2 2 1> pour normal puis <a 2 2 0 0> pour dévié.
pour l’adresse 8 : <a 2 3 1> pour normal puis <a 2 3 0 0> pour dévié.
pour l’adresse 9 : <a 3 0 1> pour normal puis <a 3 0 0 0> pour dévié.
Etc.
En effet, la commande directe correspond à l’envoi d’un 0 à la sous-adresse et la commande déviée à l’envoi d’un 1 à la sous-adresse.

Le détail des commandes pour DCC++ est là :
https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation
https://www.locoduino.org/ecrire/?exec=article&id_article=304

On peut utiliser le Bluetooth.
Cordialement

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #4 le: avril 02, 2022, 10:20:43 am »
Merci beaucoup à msport pour votre aide, mais ce n'est pas le problème.

il faut envoyer sur le Rx de la centrale DCC++ les séquences prévues par Greg E. Berman

Yo conozco muy bien el código de Greg Berman, el problema es cómo envío esas secuencias desde dentro de la propia central,  con un pulsador que está unido físicamente a la central.

Un saludo,
Juan,

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #5 le: avril 02, 2022, 10:22:34 am »
Désolé, j'ai envoyé le texte sans le traduire :

Je connais très bien le code de Greg Berman, le problème est de savoir comment envoyer ces séquences depuis l'intérieur du central DCC lui-même, avec un bouton poussoir qui est physiquement attaché au central DCC.

Meilleures salutations,
Juan

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #6 le: avril 02, 2022, 11:52:28 am »
Que voulez-vous faire exactement ?
- commander les aiguilles en DCC (donc avec un décodeur DCC pour chaque aiguille)?
ou
- commander les aiguilles directement via des relais par exemple ?

Dans le 1er cas, il faut envoyer le code DCC++ via le serial de l'arduino
Dans le 2ème cas, c'est facile de commander des pins de l'Arduino directement à partir des boutons.

Est-ce que cela répond à a question ?
Cordialement,
Dominique

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #7 le: avril 02, 2022, 12:05:30 pm »
Bonjour Dominique,
Non, ce n'est ni l'un ni l'autre, c'est plutôt le mélange. Voyons voir :

Je veux commander les aiguillages (connectés à un décodeur DCC (les neuf aiguillages connectés à un Nano) avec des boutons poussoirs connectés à la centrale DCC.

Merci beaucoup,
Juan

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #8 le: avril 02, 2022, 01:17:49 pm »
Donc votre centrale DCC doit commander les aiguilles à partir des commandes série décrites dans la réponse #3 de msport : est-ce bien ça ?

Vous pouvez le tester en tapant ces commandes dans le moniteur de l’IDE.
Maintenant vous souhaitez le faire à l’aide de boutons poussoirs dans le code du programme de la centrale qui utilise la bibliothèque DCCpp.
C’est ça ?
Cordialement,
Dominique

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #9 le: avril 02, 2022, 01:53:21 pm »
En effet, Dominique. Mon unité de commande fonctionne parfaitement, et je peux commander les aiguillages par série, soit par PC, soit par smartphone.

Et maintenant, j'aimerais pouvoir commander les aiguillages avec des boutons-poussoirs également. Tout en étant capable d'utiliser les commandes série, bien sûr.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #10 le: avril 02, 2022, 03:20:25 pm »
Avez-vous envisagé de commander les aiguillages sans passer par le bus DCC (sans générer les commandes d'aiguillages en DCC, et sans utiliser de décodeur DCC), simplement en commandant le Nano des aiguillages directement : est-il place près ou loin de la centrale DCC ?

Par exemple, en connectant les boutons poussoirs sur le Nano des aiguillages plutôt que sur la centrale DCC ?

Peut-être voulez-vous rassembler toutes les commandes sur l'unité de commande (qui a son écran tactile). Mais alors à quoi servent le smartphone et le bluetooth ?

Avez-vous une schéma de principe général montrant tous les modules, les connexions et ce que vous envisagez d'ajouter ?
« Modifié: avril 02, 2022, 03:23:59 pm par Dominique »
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #11 le: avril 02, 2022, 06:03:46 pm »
J'imagine que le bluetooth envoie ses ordres au serial ...

Si c'est le cas, je suggère d'utiliser un autre nano pour générer les commandes DCC venant des boutons sur son serial et de les envoyer à la centrale via bluetooth

A noter que l'accès partagé du serial fonctionne pour les modules radio HC12.
Cordialement

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #12 le: avril 03, 2022, 11:49:22 am »
Bonjour à vous tous,
Et tout d'abord, merci pour votre aide.
Je vais essayer de préciser un peu plus le problème : il s'agit de gérer les accessoires en général, les aiguillages en particulier, à partir de la centrale DCC++ elle-même, et non à partir du port série. Voici la question.
Pourquoi en ai-je besoin, si j'ai déjà le bluetooth ? Eh bien, pour jouer, Dominique, pour apprendre, par pure curiosité, il n'y a pas d'autre raison.

Et je peux vous dire qu'après avoir étudié la bibliothèque DCC++, je pense connaître le moyen de l'obtenir : le fichier Turnouts.cpp. Il se trouve que pour l'instant, tout cela est trop pour mes connaissances limitées, mais je vais continuer à enquêter.
Meilleures salutations,

Juan.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #13 le: avril 03, 2022, 12:30:06 pm »
Bonjour,

peut-être que la bibliothèque de Thierry est plus facilement utilisable (mais je ne maitrise pas)
voir l'exemple :
https://github.com/Locoduino/DCCpp/blob/master/examples/MaxiDcc/MaxiDcc.ino
où il est question de boutons et d'aiguillages.
Cordialement

Juan

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : Contrôle des aiguillages à partir du central DCC++.
« Réponse #14 le: avril 03, 2022, 05:25:04 pm »
En effet, msport, c'est là que je pense que la solution se trouve !
Mais je ne suis pas non plus un expert, loin de là, c'est pourquoi j'ai demandé l'aide du forum.