Parlons Arduino > Le logiciel DCC++

Contrôle des aiguillages à partir du central DCC++.

(1/6) > >>

Juan:
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:
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.

Juan:
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:
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 :

--- Code: ---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é.
--- Fin du code ---
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.

Juan:
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,

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique