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

Pages: 1 ... 26 27 [28] 29 30 ... 37
406
Présentez vous ! / Re : Le nouveau du jour
« le: novembre 28, 2018, 08:55:10 pm »
"Tout cela pour manœuvrer plusieurs machines à la fois. Au début le pilotage était prévu avec un arduino Due mais je l'ai un peu trop malmené et adieu Due. Un méga devrait arriver sous peu.
Mais pour l'instant j'ai surtout des soucis avec le booster. Je vais poser mes questions sur le forum dans la bonne rubrique.

Bonsoir Francish,

à moi aussi de te souhaiter la bienvenue sur ce super site qu'est Locoduino, mais mon message n'est pas totalement désintéressé; as-tu vu le dernier article https://www.locoduino.org/spip.php?article237 qui pourrait peut-être te donner les solutions à tes problèmes (plusieurs locos et booster).

Bonne lecture et bonne soirée
Cordialement
Antoine


407
Infos et bonnes affaires / Re : DFR0299 : CI musical pour Arduino
« le: novembre 02, 2018, 06:19:06 pm »
Bonjour Denis,

cela fait 15 jours que j'ai ce lecteur à essayer et du coup tu m'en as donné envie.

résultat: Fonctionne parfaitement avec une très bonne qualité contrairement au KT403A suivi d'un ampli.

Voici le tutoriel que j'ai utilisé (en version I/O Mode): https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

et voici où je l'ai acheté à 1,18€: https://fr.aliexpress.com/item/TF-Carte-U-Disque-Mini-MP3-DFPlayer-Audio-Voix-Module-Conseil-Pour-Arduino-DFPlay-Gros-Lecteur/32832586627.html?spm=a2g0s.9042311.0.0.27426c37pLbRjj

Merci pour le coup de pouce.

Cordialement
Antoine

408
Présentez vous ! / Re : Arduino Uno
« le: novembre 02, 2018, 05:51:47 pm »
Bonjour JBG,

j'ai essayé de compiler ton programme qui ne fait aucune erreur chez moi. Je te joins ma librairie, je tourne avec la version 1.8.5

Cordialement

409
Débuter / Re : Re : Tram italien premier projet avec Arduino
« le: novembre 02, 2018, 05:45:16 pm »
Non je  leurs ai données un autre numéro! 3 et 12 sont-ils obligatoire au vue de la conception du Mega?

Oui, j'ai eu les mêmes déboires et suis revenu à 3 et 12; est-ce compliqué de faire l'essai avec ces 2 bits ?

410
Débuter / Re : Tram italien premier projet avec Arduino
« le: novembre 02, 2018, 03:47:54 pm »
As-tu bien respecté la pin 3 pour le PWM du booster et la pin 12 pour le DIR ?

Comme ici: http://www.locoduino.org/spip.php?article187

411
Débuter / Re : Tram italien premier projet avec Arduino
« le: novembre 02, 2018, 03:38:36 pm »
Bonjour FDMM,

cela voudrait dire que tu n'a pas de tension DCC (alternative), tu travailles en tension continu.
Si tu m'envoie un schéma exact du branchement du MEGA sur le booster de sortie et ton sketch je pourrais t'aider un peu plus. En tous les cas c'est un problème de commande du booster.

Cordialement
Antoine

412
Bus DCC / Re : Perte des fonctions
« le: novembre 01, 2018, 11:28:15 am »
Oui, il semblerait d'après ma calculette  :D

mais comme je l'ai précisé et que les essais m'ont prouvés, le registre 0 ne peut pas être utilisé avec l'instruction DCCpp::setFunctionsMain(num_registre, adr_loco, gLocoFunctions);  // MAJ registre loco

413
Bus DCC / Re : Re : Perte des fonctions
« le: novembre 01, 2018, 12:28:33 am »
@ Tony, lançons une bouteille à la mer à destination de ceux qui se sentent de taille à intervenir dans le code de DCCpp pour y ajouter cette option. Option qui a peut-être ses contreparties, car sinon, j'imagine que Gregg y avait pensé.

La bouteille à la mer a visiblement portée ses fruits. Avec l'aide de Dominique et Thierry + un peu le fichier d'aide en html j'ai trouvé la solution de sauvegarde des fonctions.

J'ai décidé d'un maximum de 12 locos, c'est pour un club et ma centrale tourne avec un MEGA donc pas de problème de mémoire.
Modifié la ligne 23 de config.h MAX_MAIN_REGISTERS = 24 (le registre 0 n'étant pas utilisable à la demande), registre 1 à 12 pour la sauvegarde des vitesses et sens, 13 à 24 pour la sauvegarde des fonctions.
J'ai un tableau d'int de 12 adresses DCC qui se rempli au fur et à mesure de l'arrivée d'une nouvelle loco.
L'indice de ce tableau me permet de pointer soit les 12 registres de vitesse (indice+1), soit les 12 registres de fonctions(indice+13). Ces tableaux sont remplis au fur et à mesure des ordres DCC qui arrivent. Pour les fonctions par le code de Dominique ci-dessous:

FunctionsState gLocoFunctions; // définir la structure

if (etat_fct) {
gLocoFunctions.activate(num_fct);
} else {
gLocoFunctions.inactivate(num_fct);
}
DCCpp::setFunctionsMain(num_registre, adr_loco, gLocoFunctions);  // MAJ registre loco

Et le tour est joué, je ne perds plus aucune fonction et sans faire de mise à jour dans le loop.

Reste à faire l'essai avec le maximum de locos et le maximum de fonctions pour être sûr du résultat, ce qui sera fait en fin de semaine. Je vous tiendrai au courant pour ceux que cela intéresse.

Bonne nuit à tous, je vais me coucher  :)


414
Bus DCC / Re : Perte des fonctions
« le: octobre 31, 2018, 01:54:55 pm »
Bien compris Thierry, cela commence à être plus limpide pour moi. J'étais entrain de poser une question à Dominique à ce sujet, la voilà:

Tu trouveras un exemple dans mon programme de va et vient :
Dans la fonction Train::feux()

FunctionsState gLocoFunctions;     // Current functions of the loco

void Train::feux(bool l) {
  if (l) {
    gLocoFunctions.activate(0);
  } else {
    gLocoFunctions.inactivate(0);
  }
  DCCpp::setFunctionsMain(1, adresse_dcc, gLocoFunctions);
}

J'essaye au maximum de comprendre l'utilisation de la fonction feux: Je vais déjà passer le N° de registre à 0 comme le suggère Thierry, ensuite je suppose que dans activate(0) le (0) est le N° de la fonction à traiter.
Mais comme je veux garder en mémoire toutes les fonctions de 10 locos par exemple, je suppose que je suis obligé de créer pour chaque loco une structure séparée dans le style:
FunctionsState gLoco_1_Functions;
FunctionsState gLoco_2_Functions;
FunctionsState gLoco_3_Functions;

Peux-t-on le faire avec un indice (question peut-être idiote)?
FunctionsState gLocoFunctions[0];
FunctionsState gLocoFunctions[1];
FunctionsState gLocoFunctions[2];

Fin de la question à Dominique.

Quand j'aurais la réponse à ces questions il suffira que je définisse les registres que je veux utiliser pour les fonctions et cela devrait rouler non ?

415
Bus DCC / Re : Perte des fonctions
« le: octobre 31, 2018, 12:30:28 pm »
Je comprends un (tout petit) mieux.

Par contre grâce à tous ces essais je viens de découvrir un gros problème sur ma config MEGA. Le blocage que j'imaginais venir de mes répétitions trop rapides des fonctions vient d'ailleurs, je m'explique:

Je mets une loco 13 sur le rail
j'envoie par le moniteur série "<t 1 13 1 1>", la loco avance bien sur le cran 1
j'envoie par le moniteur série "<t 1 14 1 1>" même qu'il n'y a pas de loco 14 sur le rail
je crée une petite coupure en soulevant la loco 13, en la remettant elle ne démarre plus. Mon erreur vient-elle de l'utilisation du même registre "1" ? Et si oui, combien de registres puis utiliser ? Est-ce 11 si j'ai bien compris la réponse de Thierry ici: http://forum.locoduino.org/index.php?topic=625.msg7100#msg7100

En faisant un essai avec, pour la loco 14, le registre 2, tout rentre dans l'ordre, le problème semble donc bien venir de là. Y-a-t-il un endroit ou ces registres sont expliqués ?

Beaucoup de question mais oh combien utiles.


416
Bus DCC / Re : Re : Perte des fonctions
« le: octobre 31, 2018, 11:49:25 am »
C’est aussi documenté dans la bibliothèque et les exemples.

Bonjour Dominique,

merci pour ces infos, j'ai bien réussi à allumer et éteindre les feux par "DCCpp::setFunctionsMain(1, 13, gLocoFunctions);" mais, d'une part je ne sais pas ce que représente le 1 dans la parenthèse (je suppose que c'est un registre), d'autre part je n'ai pas trouvé la doc dont tu me parles ni dans la biblio ni dans les exemples.
Si je veux activer d'autres fonctions par exemple, comment dois-je m'y prendre ? Plus j'avance plus je découvre mes lacunes  :(

Amitiés
Antoine

417
Bus DCC / Re : Re : Perte des fonctions
« le: octobre 30, 2018, 11:18:18 pm »
Bonjour à tous,

j'aimerais bien suivre ton conseil ci-dessous Thierry,
La solution de renvoyer périodiquement les fonctions est possible, le problème est d'identifier le bon moment...
mais j'ai fait des essai avec des mises à jour par la commande TextCommand::parse() qui doit faire perdre beaucoup de temps au MEGA car si j'utilise plusieurs locos avec chacune plusieurs fonctions activées il arrive qu'une loco s'arrête et ne reprend qu'avec une nouvelle commande de vitesse.

J'aimerais beaucoup essayer la même technique que pour l'écriture et lecture des CVs que tu m'as appris ici: http://forum.locoduino.org/index.php?topic=617.msg7017#msg7017 et qui fonctionne à merveille, mais avec la commande DCCpp::setFunctionsMain() (si c'est bien la bonne) et qui à mon avis serait plus appropriée, mais je n'arrive pas à en trouver la syntaxe, je bloque sur le dernier argument "FunctionsState & inStates" que je ne comprend pas malgré mes recherches dans l'aide DCCpp.

Pourrais-tu me donner cette syntaxe pour par exemple allumer la lumière d'une loco avec adresse 12 ?  Ou m'orienter vers une autre solution selon le cas.

Merci par avance

418
Bus DCC / Re : Perte des fonctions
« le: octobre 29, 2018, 03:53:57 pm »
Citer
Pourquoi pas toutes les cinq secondes, mais il faut le faire pour toutes les machines qui sont pilotées en vitesse par ailleurs.

Oui, c'est comme cela que je fait avec un tableau qui garde en RAM les 5 variables par loco.

Donc je dispose de 11 machines simultanées si j'ai bien compris.


419
Bus DCC / Re : Perte des fonctions
« le: octobre 29, 2018, 03:29:03 pm »
Bonjour Thierry,

Citer
L'autre solution me parait pourtant acceptable. Utiliser deux registres par machine, avec un registre pour la vitesse et l'autre pour les fonctions, ça marche. Par contre il faut supporter de n'avoir que six machines à piloter.  C'est la stratégie que j'ai employée dans DcDccNanoController, sachant que c'est fait pour un Nano et donc pour une toute petite centrale.

Je me suis retourné vers la solution de renvoyer périodiquement les fonctions de la façon suivante: Suite à un court-circuit, en appuyant le bouton de remise en route du DCC je renvoie toutes les fonctions qui étaient à ON, puis par la suite je refais la même opération toutes les 5 secondes, cela semble convenir aux gars du club. Qu'en penses-tu ?

Par contre ta réponse me fait poser une autre question dont je n'ai pas trouvé la réponse dans la doc html: Combien de machines peut-on gérer en même temps avec DCCpp ?

Antoine

420
Bus DCC / Re : Perte des fonctions
« le: octobre 29, 2018, 09:10:48 am »
Bonjour Dominique,

réponse claire et sans appel comme toujours, merci à toi et bon courage pour Orléans où je ne pourrai pas me rendre car je suis en cure à Digne les Bains.

Amicalement
Antoine

Pages: 1 ... 26 27 [28] 29 30 ... 37