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

Pages: 1 ... 38 39 [40] 41 42 ... 45
586
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: mars 09, 2016, 09:08:30 am »
Au delà de la bonne utilisation ou non des structures, j'ai moi aussi jeté un oeil sur le code et je dois dire que c'est bien écrit, clair et très documenté. Il y a de très bonnes idées, mais il reste une syntaxe dans DCCpp_Uno.ino que je n'ai pas comprise (ligne 443) :

  if(R.currentReg->activePacket->buf[R.currentBit/8] & R.bitMask[R.currentBit%8]){
    OCR ## N ## A=DCC_ONE_BIT_TOTAL_DURATION_TIMER ## N;
    OCR ## N ## B=DCC_ONE_BIT_PULSE_DURATION_TIMER ## N;
  } else{ /* ELSE it is a ZERO */
    OCR ## N ## A=DCC_ZERO_BIT_TOTAL_DURATION_TIMER ## N;
    OCR ## N ## B=DCC_ZERO_BIT_PULSE_DURATION_TIMER ## N;
} /* END-ELSE */

est-ce que ## est un opérateur ?? J'avoue que je sèche.
A part ça, j'ai commencé à extraire la partie DCC de son code et je vais tenter (à mon rythme, donc pas trop vite...) de le comparer en terme de mémoire consommée à cmrdArduino.
La partie reconnaissance du ACK est aussi très intéressante. Il semble que le LMD18200 ait sa broche 8 qui permette de vérifier la consommation de courant instantanée, comme les broches 1 et 15 du L298N qu'emploie Greg . A creuser.
Pour ce qui est du prix de son montage, il faut voir les contraintes qu'il s'est imposé, c'est à dire aucune soudure, aucun composant autre que l'Arduino et le shield L298N (plutôt coûteux) au dessus... Pour le prix de ce shield, on peut utiliser deux LMD18200 qui rempliront le même rôle !

587
Si je peux me permettre, je m'insinue...

Le test vérifie que l'argument venantDe et la donnée membre de la classe mVoieSortantDroit pointent vers la même voie. Si les pointeurs sont égaux, alors évidemment les contenus aussi ! Mais là on veut absolument s'assurer qu'on ne parle pas de choses différentes mais exactement de la même voie, donc on compare les pointeurs.

Et non, si venantDe est un pointeur, alors *venantDe est son contenu, et &venantDe est le pointeur contenant la valeur du pointeur venantDe !

588
Effectivement, le réseau est impressionnant...

589
Hello

In the given sample, you will see that for convenience and tests, i have used a different DCC address for each combination !

590
Le logiciel DCC++ / DCC++ BaseStation
« le: mars 03, 2016, 02:31:09 pm »
Denis nous a signalé il y a peu de temps l'existence d'une bibliothèque très intéressante pour créer un module de pilotage DCC à partir d'un Arduino: https://github.com/DccPlusPlus/BaseStation . Il faut que tout le monde en profite, alors je porte la discussion sur le Forum.

Ce projet couvre plusieurs domaines:

un générateur de signaux DCC comme le cmdrArduino largement utilisé ici, mais maison, qui traite aussi bien les locos que les accessoires.
un module de commande série permettant d'envoyer des commandes de pilotage via la console série
une extension de tout ça pour gérer aussi des aiguillages en conservant les dernières positions, et des capteurs de toutes sortes.

A noter les vidéos (https://www.youtube.com/channel/UCJmvQx-fe0OMAIH-_g-_rZw) très bien faites (si on comprend l'anglais) sur le DCC en général, et le projet en particulier.

Vu la qualité du discours et des commentaires sur les videos, c'est dommage que le gars soit anglo-saxon, sinon on aurait fait le forcing pour le fairer venir sur Locoduino !

591
Shields et Modules / Re : Carte Servomoteurs DCC + CAN
« le: mars 02, 2016, 08:32:29 pm »
Superbe ! Pas de problème pour le collaboratif, on est là pour ça !

592
Good evening.

I have just posted a new version 4.35, with the possibility for an AccessoryLightMulti to handle blinking in an easier way. You can find also a new sample SimpleLedMulti.ino to illustrate the use of the class. The main change is in the AddDccPosition(). The third argument where already the bit mask to express which led have to be on, the new fourth argument is also a mask, but to say which led is blinking when on !

593
Each led is linked to a port of the Arduino driver. When you define this port, you can declare it either DIGITAL, or DIGITAL_INVERTED according to the way you have connected your led !

594
Hello

First, about signals. Before the actual 4.30 version of UAD, the AccessoryGroup was the only answer to your needs. It was a little bit heavy, and that's the reason why i created a new class AccessoryLightMulti. This class allows you to build a full signal into one class, handling blinking, dimming and combination of on/off lights with one Dcc code. The samples have been adapted to use this new class instead of the old groups. The groups are still usable for heterogeneous accessories moving together, like a pool of turnouts ...
Basically, you can define an AccessoryLightMulti, add leds with dimming arguments if necessary (beware of the pins used for these leds, dimming is only working on analog pins). then with AddDccPosition, you can fix combinations of lights on and off with a bit field. You will just have to set the blinking effect manually. See the ::Move in the sample SignalFrench. Even if this is not so easy, i think the best way for you should be probably to adapt signalFrench to your needs... If you decide to do that, tell me and i will give you an english translated ino file (comments mainly...) if you need.

595
Débuter / Re : Probleme avec la bibliothèque MENWIZ
« le: février 14, 2016, 06:42:47 pm »
J'ai poussé une bibliothèque prête à l'emploi (https://git.framasoft.org/locoduino.org/LcdUI/blob/master/LcdUi.zip). Mais je n'ai pas fait de version pour écran à quatre lignes... A creuser.

596
Débuter / Re : Probleme avec la bibliothèque MENWIZ
« le: février 14, 2016, 03:22:37 pm »
C'est exactement le cas. Le but de LcdUi est de fournir un moyen de construire une interface utilisateur sur un écran Lcd Arduino. La seule interface fournie fonctionne avec un écran 2 lignes de 20 caractères, mais elle est extensible et pourrait supporter un écran plus grand. Elle manque pour l'instant de testeurs, n'ayant servi que pour mon propre projet... Elle est disponible et utilisable sur notre dépôt (https://git.framasoft.org/locoduino.org/LcdUI/tree/master. Il y a de la doc en français dans le Wiki, et des exemples. Il faut absolument que je me penche sur la création d'un zip pour une bibliothèque !

597
Débuter / Re : IDE Arduino
« le: février 12, 2016, 03:55:21 pm »
L'IDE est minimaliste, en tout cas au niveau de son éditeur... Mais il fait le travail !
De mon côté sous Windows je travaille essentiellement avec Visual Studio pour debugger avec un embryon de simulateur Arduino maison, et je finis par compiler le projet voulu avec l'IDE... J'utilise SublimeText aussi que j'ai découvert assez récemment, mais comme simple éditeur en remplacement de mon vieux PsPad. J'ai bien vu qu'il était possible de le paramétrer pour remplacer l'IDE original mais je n'ai pas tenté l'expérience.

598
Présentez vous ! / Re : Nouvel utilisateur
« le: février 12, 2016, 09:40:26 am »
Bonjour, et bienvenue parmi nous.
C'est bien de se fixer des objectifs raisonnables dans un premier temps. Avec l'expérience, les envies et les buts grandiront naturellement !

599
Débuter / Re : faire du comptage
« le: février 09, 2016, 12:11:16 pm »
Voilà ce même code reformaté et corrigé. Le format est important. Je ne veux pas faire le lourd et ajouter à ce que DDEFF a déjà dit mais.... Si, je vais le faire quand même ! :)
C'est un peu comme une lettre manuscrite: si tu mets toutes les lettres accolées, pas d'espaces ou au milieu des mots, des majuscules n'importe où, des sauts de lignes intempestifs, et une ponctuation hétéroclite,il est fort probable que le destinataire pourra déchiffrer le texte mais il lui faudrait beaucoup de temps et d'efforts, et une partie du fond du message serait sans doute perdue.
Le compilateur C qui est derrière l'IDE ne se préoccupe certes pas des espaces et des sauts de lignes, s'ils ne sont pas au milieu des symboles (voir le 'last' plus haut...), mais celui qui relit, si, parce que le format aide à comprendre la structure du programme et ce qu'à voulu faire l'auteur. Ne pas oublier aussi qu'aujourd'hui tu es cet auteur et que tu comprends aisément ton code, même mal écrit, mais demain tu redeviendras un lecteur qui ne se rappelle plus ce qu'il a fait à l'époque et tentera de redécouvrir le pourquoi du comment de chaque terme du programme...
D'autre part, si tu ne dis pas dans le teste quelle fonction est appelée, ça ne risque pas de marcher.
enfin, une fonction ne peux pas recevoir une liste de liste d'arguments. Il faut l'appeler plusieurs fois.

Mais ne t'inquiètes pas, ça va rentrer ! ;);)


void loop()             //au début les 2 aiguilles sur voie 1, les signaux marquent le rouge et les zones d'arrêt sont alimentées
{
   if (digitalRead(dza1) == LOW && digitalRead(dza2) == LOW)           //pas de train en gare//
   {
      digitalWrite(aigeD, HIGH);
      digitalWrite(aigsD, HIGH);
      digitalWrite(SV1r, HIGH);
      digitalWrite(SV2r, HIGH)
      digitalWrite(AZAv1, HIGH)
      digitalWrite(AZAv2, HIGH);

      delay (100);
      digitalWrite(aigeD, LOW)
      digitalWrite(aigsD, LOW);                                         
    }
 }

600
Bibliothèques / Re : Erreur librairie DCC_Decoder
« le: février 07, 2016, 05:49:21 pm »
Trois réflexions:

Je ne connais pas la version 1.6.8 de l'IDE. C'est la 1.6.7 du site arduino.cc qui est utilisée pour nos développements...

Tu parles d'une erreur de compilation, mais laquelle ?

Enfin, j'utilise effectivement cette librairie un peu modifiée pour mes besoins, mais je ne la diffuse pas en tant que telle ! Ce que je t'avais proposé était de reprendre ma version de ces sources dans https://git.framasoft.org/locoduino.org/UniversalAccessoryDecoder/tree/V4/src, c'est à dire DCC_Dcoder.hpp (à renommer en .h) et DCC_Decoder.cpp .Mais c'est une solution qui t'obligeras les modifier pour être capable de les compiler. Mieux vaut tenter de faire fonctionner celle que tu as récupéré.

Pages: 1 ... 38 39 [40] 41 42 ... 45