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

Pages: 1 2 [3] 4
31
Bibliothèques / Re : bibliothèque DcDccNanoController
« le: octobre 17, 2017, 02:48:00 pm »
Je commence à comprendre un peu mieux le rôle de chaque librairie... :)

Encore une question par rapport à ce que tu indiques:
Citer
ou DcDccNanoController qui va le traduire en ordre DCC

Est-ce que cela veut dire que si j'ajoute I2CCommander.begin(address_slave); dans le setup() de DcDccNanoController, ce dernier va écouter sur le bus I2C et renvoyer automatiquement des ordres reçus vers les accessoires sur bus DCC sans rien ajouter de plus au code ?
Evidemment il faut que mes pins SDA/SCL soient librent.
Auquel cas j'ajoute un Arduino avec TCO qui communique en I2C vers l'arduino DcDccNanoController
Et un autre Arduino en écoute DCC pour commander mes accessoires.

Sinon je sépare vraiment la partie contrôle loco de la partie TCO accessoires...


32
Bibliothèques / Re : bibliothèque DcDccNanoController
« le: octobre 17, 2017, 12:16:21 pm »
Je veux bien séparer sur plusieurs Arduino :)
Mon idée serait d'avoir 2 arduinos distant (ou +) pour la partie Accessoires: 1 en envoi d'ordre, (1 ou +) en récepteur(s).
J'aimerai donc:
- 1 arduino avec le DcDccNanoController pour le contrôle de la loco
- 1 arduino avec les boutons TCO et envoyer les ordres en DCC (librairie Commanders ? )
- 1 arduino avec les aiguilles, leds qui recoit les ordres en DCC (librairie Accessoires ? )

Les ordres DCC vont donc être envoyé par 2 contrôleurs sur la même voie.
Est-ce correct et possible ?
Ou vaut mieux t il séparer sur 2 liaisons distincts: d'un coté le contrôle de la loco avec DCC sur la voie et un autre bus de données pour le contrôle des accessoires ?

Merci pour ton aide à y voir plus clair dans l'utilisation de DCC.

33
Bibliothèques / Re : bibliothèque DcDccNanoController
« le: octobre 15, 2017, 05:42:27 pm »
Bonjour,

J'essaye d'ajouter des Accessoires de commandes pour contrôler par exemple des aiguilles, et leds situées sur un autre Arduino Nano qui sera en réception d'ordre DCC.

DcDccNanoController est-il compatible avec l'ajout d'accessoires dans son fonctionnement ?
Au niveau code, pour commencer, j'ai ajouté:
ButtonsCommanderPush aiguille1;

dans le setup:
  Accessories::begin();
  aiguille1.begin(DCCINT(20, 0),13);  //pin digital 13
  aiguille1.AddEvent(DCCINT(20, 1));

dans la loop:
  Accessories::RaiseEvent(eventId, (ACCESSORIES_EVENT_TYPE) Commanders::GetLastEventType(),Commanders::GetLastEventData());
  Accessories::loop();

A la 1ère compilation j'ai eu des erreurs: DCCINT non reconnu.
J'ai dû décommenter #define NO_DCCCOMMANDER ligne 131 du fichier Commanders.h

La compilation m'indique ensuite que le sketch est trop gros (31250octets) pour l'arduino Nano. Que puis-je retirer (si possible) ?

Sinon, puis-je utiliser un autre Arduino Nano pour la partie commande d'accessoires et le brancher en parallèle sur ma voie ?
Si oui que dois-je ajouter pour injecter le signal sur la voie ?

Merci pour votre aide

34
Bibliothèques / bibliothèque DcDccNanoController
« le: octobre 14, 2017, 12:14:08 pm »
Bonjour,

Je continue ma discussion ici autour de la bibliothèque DcDccNanoController...

Citer
Les occurrences de #define DDC_DEBUG_MODE ne sont là que pour mes tests. J’ai juste oublié de les enlever, et ce sera fait pour la prochaine version. Le seul vraiment nécessaire est dans DcDccNanoController.h .
Je ne vois pas trop la confusion possible… J’ai deux interrupteurs qui s’appellent buttonF0 et buttonF1, et par défaut ils activent respectivement la fonction 0 et la fonction 1. Il est possible de changer buttonF0 pour lui faire activer une autre fonction entre 0 et 28. C’est le nom buttonF0/buttonF1 qui dérange ?

Sur un message précédent tu me confirmais que les interrupteurs F0 F1 étaient associé vers une CV du décodeur.
Mais en fait non, ils sont plutôt associé vers les fonctions du décodeur.

Comme je suis totalement débutant sur le numérique DCC, je ne comprenais plus très bien  ??? :-\
Maintenant c'est bon, je comprend mieux.

Donc l'allumage des feux fonctionnent bien en fonction du sens de marche quand on configure correctement F0=0  :)

Il reste un bug que je constate:
La lecture/écriture des valeurs sur les CV.
Quand je lis la CV0033, cela me retourne 3. Mais d'après ma doc du Lenz 10231-02, la valeur par défaut est 1
Si j'essaye d'écrire CV0033 = 1, quand je relis la CV, il me retourne à nouveau 3.
A chaque lecture et écriture, on entend bien la loco réagir par un petit bruit.


Je tiens quand même à te féliciter pour ton travail !
J'ai essayé de comprendre le fonctionnement des classes et méthodes de la bibliothèque: c'est très bien fait :)
Je vais tenter d'ajouter du code pour commander des accessoires avec la librairie Accessories sur un autre Arduino Nano.

35
Vos projets / Re : Utilisation d'ATTiny
« le: janvier 15, 2017, 03:09:37 pm »
J'ai déjà utilisé ces attiny85 digispark. Très bien pour des petits projets basse consommation :)

Bien suivre à partir de l'étape 3 de ce tuto:
http://www.instructables.com/id/Digispark-DIY-The-smallest-USB-Arduino/?ALLSTEPS
Pour les utiliser.

En effet ils utilisent un bootloader spécial (déjà gravé) pour être utilisable sur USB. Donc il faut le driver et un IDE avec la plateforme reconnue.

36
Vos projets / Re : Utilisation d'ATTiny
« le: décembre 23, 2016, 01:51:03 pm »
Pour complément d'infos:

Si jamais vous n'avez pas les cartes ATTiny listées dans le gestionnaire de cartes, il faut ajouter la bibliothèque comme ceci:
Arduino IDE: dans Fichier, Préférences, URL de gestionnaire de cartes supplémentaires.
Ajouter cet url : https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Puis revenir dans le gestionnaire de cartes, les cartes Attiny devrait apparaitre et pourront être téléchargé et installé.

D’autres bibliothèques listées ici :
http://playground.arduino.cc/Main/ArduinoOnOtherAtmelChips

Bonnes fêtes de fin d’année :)

37
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 25, 2016, 01:05:13 pm »
Bonjour,

Juste pour information:
Pour tester, j'ai refait mes 2 skectchs en utilisant I2C à la place de DCC: fonctionne du 1er coup ! :)

38
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 21, 2016, 10:01:25 pm »
pour CmdrArduino, apparemment la librairie contient des erreurs.
j'ai trouvé une librairie corrigée et plus à jour ici: http://pgahtow.de/wiki/index.php?title=DCC#Software

Elle fonctionne bien et les trames envoyées sont bien reconnues et interprétées par DccCommander.
Juste 1 petite chose bizarre, je dois faire -1 sur l'adresse donnée dans CmdrArduino pour l'envoie d'ordre, car DccCommander récupère la trame mais avec l'adresse réceptionnée en +1.
D'un envoi de trame d'adresse 20, elle est réceptionnée en adresse 21.

Sinon c'est fonctionnel :)

Vous aurez donc juste à corriger votre librairie par rapport à la durée d'activation des sorties.

39
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 21, 2016, 08:32:19 pm »
Juste pour préciser et être sûr de la méthode DccCommanderClass::DccAccessoryDecoderPacket():
En fait vous déclenchez l'accessoire en vérifiant uniquement dans les trames reçues si la valeur activate est = false.
Il n'y a pas de vérification préalable comme quoi il y a eu 3 précédentes trames de reçues avec la valeur activate = 1.

Je vais regarder du coté de CmdrArduino et voir la séquence de trames envoyées pour 1 ordre...

40
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 21, 2016, 07:25:00 pm »
bonsoir,
j'ai récupéré les nouvelles sources: ça compile bien en mode DEBUG :)

j'ai également trouvé pourquoi DCCCommander ne réagissait pas aux trames envoyées par CmdrArduino:
Dans votre fichier DccCommander.cpp, à partir de la ligne 57, vous expliquez que votre centrale MS2 envoie 3 fois la même trame avec le dernier octet à 1, puis 1 trame avec le dernier octet à 0. Si cette dernière trame est reçue, alors vous lancez la commande vers l'accessoire.
CmdrArduino n'envoie qu' 1 trame pour activer l'accessoire et le dernier octet est toujours = 1. C'est le 2ème octet de la trame qui indique quel sous-élément contrôler.

J'ai modifié le test ligne 64 comme ceci: if (activate)
ce qui signifie, si dernier octet = 1 alors on lance la commande.

J'ai recompilé avec cette modification, et ça fonctionne !
DccCommander réagit bien aux trames envoyées par CmdrArduino:
1er appui BP du CmdrArduino active ma 1ère sortie, 2ème appui BP active la 2ème sortie.

Je ne sais pas si ce type d'envoi de trame est commune à toutes les centrales DCC ou propre à la votre uniquement...

Par contre il reste toujours le bug des sorties constamment allumées tant qu'on ne ré-appui pas sur le BP.

Edit:
Peut-être une piste pour le bug des sorties:
Lorsqu'on appelle la méthode AccessoryMotorTwoWays::beginTwoWays(), celle-ci envoie le paramètre de Durée à la méthode AccessoryMotor::begin(). Hors cette dernière ne fait rien avec le paramètre de Durée (fichier AccessoryMotor.cpp ligne 15).

Edit:
BINGO !
Ma piste était bonne :D
J'ai ajouté this->SetDuration(inDurationMilli); dans la méthode AccessoryMotor::begin().

Recompilé et c'est bon !

Les sorties s'activent bien temporairement avec la durée définit de 250ms.

A vous de mettre à jour les librairies ;)

41
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 20, 2016, 05:02:03 pm »
j'ai activé ACCESSORIES_DEBUG_MODE mais pas COMMANDERS_DEBUG_MODE.
je viens de re-compiler avec les 2 activés et j'ai cette erreur:
Arduino\libraries\Commanders\src\Commanders.cpp:121:34: error: no 'void Commanders::printCommanders()' member function declared in class 'Commanders'

Edit:
J'oubliai un autre problème:
Dans les précédents tests ou cela réagissait par BP, les 250ms d'activation ne sont pas pris en compte. La sortie reste active indéfiniment jusqu'à une nouvelle action du BP pour activer l'autre sortie. Et même problème pour la 2eme sortie.
aiguille.beginTwoWays(&port, DCCID_DROIT, DCCID_DEVIE, 255, 250);

42
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 20, 2016, 04:47:40 pm »
bonjour,

j'ai mis à jour les librairies, copier votre code:
Plus aucune réaction sur les sorties que ce soit par le BP ou par l'envoi manuel en Serial :(
La led 13 ne réagit pas, seule la led Rx de mon arduino réagit quand j'envoie manuellement à travers la console série.

Dans aucun des cas la console série ne me renvoie quelque chose.

43
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 19, 2016, 07:38:33 pm »
Merci pour ces explications.

Pouvez-vous essayer mon sketch dcccommander de votre côté avec un envoi d'ordre par la console MS2 Trix ?

44
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 19, 2016, 11:54:21 am »
Je n'ai pas de centrale DCC. J'utilise CmdrArduino pour transmettre des trames Dcc.

J'ai essayé avec DccCommander.UseRawDccAddresses = true;
La console m'affiche bien les trames non converties:
Dcc packet found : real data : 20 / 0 / 1  converted : 20 / 0 / 1
Dcc packet found : real data : 20 / 1 / 1  converted : 20 / 1 / 1

Mais toujours aucune réaction sur mes sorties.

J'ai également essayé dans ce sens:
J'ai changé les adresses en 77.
Commenté DccCommander.UseRawDccAddresses = true;
#define DCCID_DROIT   DCCINT(77, 0)
#define DCCID_DEVIE   DCCINT(77, 1)
Je suppose que la trame converti donnant la valeur 77 pourrait correspondre à l'adresse que j'ai modifiée ici ?
Mais pas plus de chance: pas de réaction de mes sorties.

A quoi correspond la dernière valeur de la trame ?
La 2eme valeur correspond je pense au changement de l'aiguille car elle varie entre 0 et 1.
"Dcc packet found : real data : 20 / 1 / ? converted : 20 / 1 / ?"

45
Bibliothèques / Re : besoin d'aide sur Universal Accesory Decoder
« le: novembre 19, 2016, 08:16:26 am »
Merci pour cette correction.

Le comportement est OK avec le BP sur l'arduino DCCCommander.

Par contre les ordres envoyés par CmdrArduino ne sont toujours pas compris.
DCCCommander recoit bien les trames mais rien ne se passe sur les sorties.

que signifie le "converted" (adresse 20 passe en valeur 77) ?
Dcc packet found : real data : 20 / 1 / 1  converted : 77 / 1 / 1

Pages: 1 2 [3] 4