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

Pages: 1 [2] 3 4
16
Bibliothèques / Re : Bibliothèque Accessories
« le: décembre 06, 2018, 11:42:18 am »
   Bonjour,

En fouillant dans "Accessories.cpp", j'ai trouvé une commande "SetPowerCommand" qui remplirait parfaitement ce que je veux faire.

Mais je n'arrive pas à l'utiliser dans le sketch.

Une idée???

   Cordialement

17
Bibliothèques / Re : Bibliothèque Accessories
« le: décembre 05, 2018, 06:57:46 pm »
   Bonjour,

J'ai résolu mon problème avec les pointes de coeur en utilisant un 2° Arduino.

Il me reste un problème:

- parfois il y a un mouvement incontrôlé du servo.
- le mieux serait donc de l'alimenter un petit peu avant qu'il démarre et couper son alimentation un petit peu après.

J'ai tenté quelque chose, mais le résultat n'est pas à la hauteur de mes espérances

Je me suis dit que "Accessories" a peut-être ça en standard "cachée" quelque part? Mais où???

   Cordialement

18
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 26, 2018, 08:37:23 pm »
   Bonsoir,

Merci de ta réactivité.

Bien sûr je ne vais pas utiliser delay().

Par contre je pense que je vais utiliser un deuxième Arduino qui ne sera affecté qu'à la gestion des pointes de coeur.

L'idée est de lui envoyer l'information de démarrage des servos, et c'est lui qui sur ces sorties alimentera les pointes de coeur avec du délai (typiquement en utilisant "millis() dans le "void loop()") et par l'intermédiaire de triac pour la puissance.

En fait ce deuxième Arduino remplacera les contacts de fin de course qu'on trouve sur certains aiguillages type "Tortoise" ou Conrad" ou autres.

   Cordialement

19
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 26, 2018, 07:14:24 pm »
   Bonjour,

Je souhaite utiliser cette bibliothèque sur l'ensemble de mon réseau, avec plusieurs NANO faisant fonctionner chacun plusieurs servos.

- que se passe-t-il si un ordre DCC arrive sur un NANO pour un servo, alors que le NANO est en train de faire tourner un autre servo.

Cet ordre est-il perdu, car j'ai chronométré le temps de déplacement d'un servo à environ 1,5 s.
Or lorsque mon logiciel RRTC établi un trajet, il commute les aiguillages les uns à la suite des autres, les ordres DCC se suivent donc assez rapidement.


- d'autre part suite à ma question sur le post précédent:

- j'arrive à détecter le moment où le servo démarre et son sens de rotation, mais je ne trouve pas l'information qui me dit qu'il a fini de tourner.
En effet, c'est à ce moment que je veux inverser le courant sur la pointe de coeur pour éviter tout court-circuit.
Si j'inverse le courant au démarrage du servo, j'ai le risque que les lames ne soient pas encore décollées et que les polarités ne soient pas bonnes.

Cordialement

20
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 23, 2018, 03:43:23 pm »
   Bonjour,

Merci beaucoup de l'info.

Décidément cette bibliothèque est une mine de solutions.
Il faudrait une vraie formation pour tout appréhender.

J'étudie ça.

Cordialement

21
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 21, 2018, 04:00:56 pm »
   Bonjour,

Maintenant que le servo fonctionne avec Accessories, je voudrais aller plus loin en commandant le passage du courant vers la pointe de cœur de
mes aiguillages "PECO Electrofrog".

Pour celà, j'ai imaginé un système à base de triacs, qui enverra le courant d'un côté ou de l'autre.

Je voudrais éviter de passer par des micro-interrupteurs commandés par le servo ( très efficace, mais trop compliqué mécaniquement ).

J'ai donc besoin de savoir:

- à quel moment le servo démarre
- dans quel sens il tourne (horaire ou anti-horaire)

... et je ne sais pas quelle variable du code il faut tester pour celà.

Pourrais-tu m'aiguiller (c'est le cas de le dire), pour celà?

   Cordialement

22
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 20, 2018, 11:45:49 am »
   Bonjour,

Ci-dessous la version fonctionnelle d'un servo commandé en DCC, à l'adresse 125 par une Intellibox1, reliée au logiciel RRTC.

Le servo fonctionne aussi bien par la centrale que par le logiciel.

Merci à Thierry qui a adapté Commanders à mon problème. En effet l'Intellibox n'envoie qu'une trame par accessoire, alors qu'apparemment d'autres centrales envoie 2 trames..

Le sketch:

#include <Commanders.h>
#include <Accessories.h>

// Le poussoir...
ButtonsCommanderPush boutonPoussoir;

// Le moteur
AccessoryServo AIGL;

// Les ports pour connecter le moteur...
PortServo portAIGL;

// code pour un accessoire à l'adresse DCC 125 piloté par un bouton On et un bouton Off
#define SERVOMIN  DCCINT(125,0)
#define SERVOMAX  DCCINT(125,1)

void setup()
{
  Commanders::begin(LED_BUILTIN);
   
  // Memoriser les positions des moteurs dans l'EEPROM.
  Accessories::begin(0, 500);

  // Récupérer le signal DCC sur la broche interruption 3...
  DccCommander.begin(0x00, 0x00, digitalPinToInterrupt(3), true);

  // Fixe le type de paquet Dcc qui déclenche l'événement, activation ou non (par défaut)
  // Dépend de la centrale (utile dans le cas de mon Intellibox1)
  // Ou DccCommander.RaiseEventWhen(true,200);
  // le second paramètre fixe le délai d'inactivité forcé de DccCommander sur l'accessoire une fois l'événement envoyé.
  DccCommander.RaiseEventWhen(true);
 
  // Evènement du bouton 200 branché sur la borne 6...
  boutonPoussoir.begin(200, 6);
  boutonPoussoir.AddEvent(SERVOMIN, COMMANDERS_EVENT_MOVEPOSITIONID, 0); // Le dernier argument ne sert pas pour ce type d'evenement
  boutonPoussoir.AddEvent(SERVOMAX, COMMANDERS_EVENT_MOVEPOSITIONID, 0);

  // Les ports avec leurs broches en digital (pas PWM)
  portAIGL.begin(12);

  // Le servo : pas de durée de mouvement, un débattement entre 95 et 135 degres
  // et deux positions stables annoncées avec des identifiants inutiles (mais obligatoires)
  AIGL.begin(&portAIGL, 50, 95, 135, 1);
  // Les deux positions sont au mini et au maxi :
  AIGL.AddMinMaxMovingPositions(SERVOMIN, SERVOMAX);
}

void loop()
{
  unsigned long id = Commanders::loop();

  if (id != UNDEFINED_ID)
  {
    // Renvoie l'événement reçu de Commanders, vers les accessoires...
    Accessories::RaiseEvent(id, (ACCESSORIES_EVENT_TYPE)Commanders::GetLastEventType(), Commanders::GetLastEventData());
  }

  Accessories::loop();
}

Je laisse à Thierry, au besoin, le soin de commenter ce problème et le remercie de sa réactivité.

   Cordialement

23
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 19, 2018, 08:49:57 pm »
   Bonsoir,

Je viens de faire le test et....miracle ça fonctionne, le servo se déplace normalement aussi bien avec l'Intellibox que par commande dans RRTC.

Chapeau l'artiste...

Je vais pouvoir continuer et commander mes 35 aiguillages.

Je n'hésiterais pas à te recontacter en cas d'interrogation.

Bravo à toi et à toute l'équipe LOCODUINO.

   Très Cordialement

24
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 19, 2018, 08:33:37 pm »
   Bonsoir,

Pas de souçis, dans une autre vie je développais des logiciels de gestion alors les erreurs de compil, j'en ai fait plus souvent
qu'à mon tour.

Je teste ça et te tiens au courant.

Cordialement

25
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 19, 2018, 06:24:22 pm »
   Bonjour,

Et merci.

Quelques erreurs à la compilation:

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:162:2: error: stray '\262' in program

 DCC.lo²op()

  ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp: In static member function 'static void DccCommanderClass::DccAccessoryDecoderPacket(int, boolean, uint8_t)':

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:65:18: error: 'this' is unavailable for static member functions

  if (activate == this->RaiseEventOnActivation)

                  ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:68:19: error: 'this' is unavailable for static member functions

    if (millis() - this->LastEventDate < this->RaiseEventDebounceDelay)

                   ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:68:41: error: 'this' is unavailable for static member functions

    if (millis() - this->LastEventDate < this->RaiseEventDebounceDelay)

                                         ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:79:3: error: 'this' is unavailable for static member functions

   this->LastEventDate = millis();

   ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:93:4: error: 'this' is unavailable for static member functions

    this->LastDccId = DCCINT(realAddress, data);

    ^

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp: In member function 'virtual long unsigned int DccCommanderClass::loop()':

C:\Users\Pierre\Documents\Arduino\libraries\Commanders\src\DccCommander.cpp:162:6: error: 'class DCC_Decoder' has no member named 'lo'

  DCC.lo²op();

      ^

exit status 1
Erreur de compilation pour la carte Arduino/Genuino Uno

J'ai bien trouvé les erreurs DCC.lo²op(), par contre pour les erreurs avec "this", là je câle...

Cordialement




26
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 19, 2018, 10:11:35 am »
    Bonjour,

En effet, je crois qu'on est dans ce cas puisque sur" l'Intellibox1", les délais sont réglables.

Merci beaucoup de t'intéresser à mon problème.

J'aimerais beaucoup utiliser cette bibliothèque car j'utilise déjà la rétrosignalisation de LOCODUINO, et je souhaiterais être "full Arduino" sur mon réseau.

  Cordialement

27
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 08:54:12 pm »
   Bonsoir,

En effet on voit deux trames DCC.

Il y a un paramètrage dans l'Intellibox pour les aiguillages:

- MOTOROLA
- ou DCC

Elle est réglée sur DCC

Il n'y a pas d'autres réglages.

Comment vois-tu la suite, y a -t-il une solution ou dois-je abandonner?

Cordialement

28
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 08:09:12 pm »
   Bonsoir,

J'ai réalisé le "sniffeur de Rudy" et j'obtiens les résultats suivants en appuyant successivement sur les 2 touches de l'aiguillage 125:

---
DCC Packet Analyze started
Updates every 4 seconds
---
Idle
Idle
-
Idle
Acc 125 32:0 1 Off  10100000 11111000
Idle
Idle
-
Idle
Idle
Idle
Acc 125 32:0 1 On  10100000 11111001
-
Idle
Idle

J'espère que tu trouveras la réponse à ton interrogation.
.
Merci de me dire comment aller plus loin.

Cordialement

29
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 07:35:36 pm »
     Bonjour,

J'ai trouvé sur l'Intellibox, le menu où se règle les durées d'impulsion des accessoires.

En usine le réglage est de:

- 100ms minimum, c'est à dire que même une brève impulsion sur une touche sera envoyée pendant 100ms

- 5000ms maximun, c'est à dire que si on garde la touche appuyée, l'impulsion cesse au bout de 5000ms..

Faut-il changer ce réglage?


Cordialement

30
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 07:28:01 pm »
   Bonsoir,

Je crois savoir où est le sniffer (c'est Rudy je crois qui en a un...), je regarde de mon côté et je te tiens au courant.

Je vais réaliser ce sniffer et je transmets les résultats.

Cordialement

Pages: 1 [2] 3 4