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.


Sujets - bagou91

Pages: [1]
1
Bibliothèques / Bibliothèque DCCpp
« le: janvier 06, 2018, 06:48:50 pm »
Bonjour,

Je m'essaye à la nouvelle bibliothèque DCCpp que Thierry nous a concocté :)
Et je rencontre des petits soucis de fonctionnement avec:

J'ai envoyé l'example MaxiDcc tel quel (juste modifié quelques broches de connexion) dans mon arduino nano, le téléversement s'est bien effectué.
Par contre aucune réaction avec ma loco dccid=3.
La led Tx de l'arduino s'affole, et la console série défile avec quasiment que des lignes vides. De temps en temps je vois passer des caractères mais pas le temps de les lire.

niveau matériel j'utilise un Nano, LMD18200, MAX471, encodeur rotatif avec switch, et des boutons poussoirs.
niveau branchement arduino:
D11 = PWM LMD18200
D10 = DIR LMD18200
A6 = out MAX471
D12, D8 = encodeur
A0 = switch encodeur
A1 = F0
A2 = F1
A3 = cancel
A4 = emergency
A5 = switch pour aiguille

au niveau des BP et switch, je branche un coté à l'arduino, l'autre à la masse. Pas besoin de résistance en pullup/pulldown ?

partie du code modifié:
buttonSelect.begin(EVENT_SELECT, A0);
buttonEncoder.begin(EVENT_ENCODER, 12, 8, 2);
buttonCancel.begin(EVENT_CANCEL, A3);
buttonEmergency.begin(EVENT_EMERGENCY, A4);
buttonF0.begin(EVENT_FUNCTION0, A1);
buttonF1.begin(EVENT_FUNCTION1, A2);
buttonTurnout1.begin(EVENT_TURNOUT1, A5);

...

DCCpp::beginMain(UNDEFINED_PIN, DCC_SIGNAL_PIN_MAIN, 11, A6);

que  puis-je vérifier d'autres ?

Merci pour l'aide

2
Bibliothèques / bibliothèque Commanders+Accessoires
« le: octobre 17, 2017, 10:34:31 pm »
Bonsoir,

J'ai repris les exemples fournis dans la bibliothèque Accessoires pour actionner un aiguillage type Jouef 2 solenoïdes (via ULN2003).
Je tente de l'actionner avec un bouton poussoir, ou bien un interrupteur et hélas ça ne se passe pas comme prévu  :'(

voici le code:
#include <Commanders.h>
#include "Accessories.h"

ButtonsCommanderPush push;
ButtonsCommanderSwitch boutonAiguillageGauche;

// Accessories
AccessoryMotorTwoWays aiguille;

// Drivers
PortTwoPins port;

#define DCCID_DROIT   DCCINT(20, 0)
#define DCCID_DEVIE   DCCINT(20, 1)

void ReceiveEvent(unsigned long inId, COMMANDERS_EVENT_TYPE inEvent, int inData)
{
  COMMANDERS_PRINT_EVENT(inId, inEvent, inData);
}

void setup()
{
  Serial.begin(115200);
 
  Commanders::begin(ReceiveEvent, LED_BUILTIN);
  Accessories::begin();
 
  I2CCommander.begin(0x10); // I2C Slave identifier.
 
  // Setup of ports
  port.begin(4, 5, DIGITAL);

  // Accessories setups
  push.AddEvent(DCCID_DEVIE);
  push.begin(DCCID_DROIT,8);
 
  boutonAiguillageGauche.AddEvent(DCCID_DROIT, 6);
  boutonAiguillageGauche.AddEvent(DCCID_DEVIE, 7);
  boutonAiguillageGauche.begin();
 
  aiguille.beginTwoWays(&port, DCCID_DROIT, DCCID_DEVIE, 255, 250);
}

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();
}

j'ai activé le mode debug pour voir ce qu'il se passe sur la console série:
au démarrage:
Commanders V1.40
Developed by Thierry Paris.
(c) Locoduino 2016-2017

*** Setup Commanders started.

Accessories V1.0
Developed by Thierry Paris.
(c) Locoduino 2016-2017

*** Setup Accessories started.
*** Setup Commanders Finished.
Commander event : Address : 20 / MOVE ON
Commander event : Address : 10020 / MOVE OFF
*** Setup Accessories Finished.

Si j'actionne mon interrupteur, rien ne se passe et aucune réaction de la ledbuiltin, ou des sorties vers l'aiguillage.

Si j'appuie sur le bouton poussoir:
Commander event : Address : 10020 / MOVEPOSITIONID
ButtonsCommanderButton id:10020 selected !
Same position : Cant move !
Same position : Cant move !
Same position : Cant move !
Same position : Cant move !
Same position : Cant move !
Same position : Cant move !
....
et au bout de plusieurs dizaine de lignes du même message, l'arduino redémarre (il n'a pas dû aimé :()

Pouvez vous me venir en aide ?

Merci.

PS: quand le TCO local fonctionnera, je voudrais envoyer les ordres via I2C avec un autre Arduino.

3
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.

4
Bibliothèques / besoin d'aide sur Universal Accesory Decoder
« le: novembre 17, 2016, 05:16:28 pm »
Bonjour,

J'ai lu les 3 articles sur le site à propos de la réalisation Universal Accessory Decoder.
J'aimerai l'utiliser pour actionner mes aiguillages Jouef 3 fils (2 solenoides).

Sur le 3ème article, http://www.locoduino.org/spip.php?article35, je n'arrive bien à comprendre comment déclarer les objets type accessoires par rapport à mes aiguillages.
Pourriez vous m'aider ?

Pour l'instant, je souhaite controler 3 aiguillages avec 3 boutons poussoirs.
Voici le début du code que j'ai mis dans la partie setup()
void setup(){
UAD_StartSetup();
  // Setup of Dcc commander
  dccCommander.Setup(0x00, 0x00, kDCC_INTERRUPT);
  dccCommander.SetStatusLedPin(13);

buttonsCommander.Setup(1,
new ButtonsCommanderPush(2)
);
//bouton n°0, adresse ID 40, pin digital 3 attachée
PUSH(buttonsCommander, 0)->AddDccId(40, 0);
PUSH(buttonsCommander, 0)->AddDccId(40, 1);
PUSH(buttonsCommander, 0)->Setup(3);

  //bouton n°1, adresse ID 41, pin digital 4 attachée
PUSH(buttonsCommander, 1)->AddDccId(41, 0);
PUSH(buttonsCommander, 1)->AddDccId(41, 1);
  PUSH(buttonsCommander, 1)->Setup(4);

  //bouton n°2, adresse ID 42, pin digital 5 attachée
  PUSH(buttonsCommander, 2)->AddDccId(42, 0);
  PUSH(buttonsCommander, 2)->AddDccId(42, 1);
  PUSH(buttonsCommander, 2)->Setup(5);

//là je bute et ne sais comment déclarer mes solenoides d'aiguillages...
accessories.Setup(AccessoryNumber,
new AccessoryLight(40, ...
new AccessoryLight(41, ...
new AccessoryLight(42, ...
);

}

5
Présentez vous ! / bonjour à tous
« le: novembre 17, 2016, 05:08:11 pm »
Bonjour à tous,

Après avoir lu plusieurs articles sur le site, j'ai de plus en plus envie de commencer un petit projet autour d'une utilisation numérique de mes petits trains.
Je débute pour le modélisme numérique ferroviaire, mais j'ai déjà quelques connaissances en électronique et programmation Arduino :)

J'espère pouvoir concrétiser ici mes projets avec votre aide, et par la suite contribuer aux projets des autres en les aidants sur leurs interrogations.

Merci pour votre accueil.

Pages: [1]