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

Pages: 1 ... 137 138 [139] 140 141 ... 170
2071
Présentez vous ! / Re : samuel se présente
« le: mai 16, 2017, 10:02:26 pm »
Bonjour Samuel,

Commencer par le DUE, c'est démarrer très fort !

Je te souhaite beaucoup de plaisir et que Locoduino te soit pleinement profitable.

Amicalement
Dominique

2072
Débuter / Re : Rétrosignalisation
« le: mai 16, 2017, 01:16:21 pm »
Bravo si vous vous lancez  :D

Mais de quel kit de démarrage et quel manuel s'agit-il ?
Un kit de train ou un kit Arduino ?

Si c'est un kit Arduino, tout est sur www.locoduino.org

Amicalement
Dominique

2073
Les réseaux / Re : Projet Dominique
« le: mai 15, 2017, 12:31:03 pm »
Bonjour Marc-Henri,

Je n'ai eu aucun souci avec les 74HC595 qui ne servent, en fait, qu'à allumer ou éteindre des leds basse consommation, donc qui ne doivent pas générer de parasites.

Dans la description de mon projet je vais continuer par la carte TCO/Rétrosignalisation qui, justement embarque 10 de ces circuits. Elle est présentée un peu ici :
http://forum.locoduino.org/index.php?topic=329.msg3102#msg3102

et le câblage fouillis avec le Mega est ici :


Par contre, j'ai aussi une carte de commande de 40 relais (à laquelle de dois en ajouter 4) qui est constituée d'un Mega et de 5 plaques de 8 relais 5V avec optocoupleurs. Les relais commutent de l'alternatif pour des moteurs Fleischmann, je n'avais pas d'autre choix.

Là non plus, je n'ai pas de parasites.

Chaque carte est reliée au bus CAN et je suis certain de ne pas voir passer d'événements parasites !

C'est pour cela que je commence à décrire tout mon bazard  ;)

Bien amicalement
Dominique

2074
Débuter / Re : Rétrosignalisation
« le: mai 14, 2017, 11:18:10 pm »
Dans mon cas j'ai opté pour les 74HC595 : j'en ai 10 et il y a seulement 4 fils de commande.
Pour une meilleure rapidité j'ai découpé cela en 2 bancs de 5 circuits (maxi 40 sorties chacun).
Les performances sont très honnêtes : c'est instantané  :)
J'ai évidemment mis des Leds faible consommation.



Sur cette image, on voit que j'ai testé la carte 74HC595 avec un simple Nano !

Cela fait un beau tableau :


2075
Les réseaux / Re : Projet Dominique
« le: mai 14, 2017, 10:47:02 pm »
Retour sur la description de mon réseau : entre temps j'ai testé avec succès le Gestionnaire de Pierre (voir sur le Forum http://forum.locoduino.org/index.php?topic=166.msg2920#msg2920).

Je reviendrai en détail sur les réflexions qui m'ont conduites à ce point, mais les principale conclusions qui vont guider toute ma réalisation sont les suivantes :

  • J'ai bien fait de découper la réalisation en plusieurs modules Arduino (traction, TCO/rétrosignalisation, commandes d'aiguilles, Gestionnaire et bientôt les commandes des signaux et la gestion du décor et des animations).
  • J'ai bien fait de ne pas utiliser de centrale du commerce, ni de capteurs du commerce, ce qui me laisse l'entière liberté de réaliser exactement ce que je veux, sans aucune contrainte et avec autant de possibilités que les logiciels du commerce. Cela s'est fait avec une première étape qui m'a permis de faire rouler les trains (avec la centrale DCC, le TCO, la commande d'aiguilles et un gestionnaire simplifié). Les évolutions vers le système final se feront progressivement sans pénaliser le plaisir de jouer aux trains  :-*
  • Le Gestionnaire a besoin de rétrosignalisation propre et cohérente : c'est le cas des occupations de zones, mais lorsque une zone est libérée, il faut que le train en soit complètement sorti, ce qui n'est pas le cas chez moi pour le moment et je dois ajouter quelques capteurs dans les zones de gare en particulier (au minimum) pour détecter que les trains y sont entrés complètement. C'est essentiel pour faire fonctionner les itinéraires, leur réservation et leur libération
  • Pour connaitre à tout instant la position des trains, de façon a pouvoir les commander (arrêts, ralentissement, cab-système, etc..), je dois mettre en oeuvre un système de détection automatique que je décris par ailleurs.
  • Le développement du Gestionnaire et sa mise au point ont nécessité des modifications du réseau (remplacement des TJD par des aiguilles, modification du tracé, etc.. Il faudra donc ajouter des commandes d'aiguilles supplémentaires et des détecteurs d'occupation

Tout cela renforce donc l'intérêt du bus CAN pour faire communiquer les modules Arduino entre eux.
C'est l'objet de l'article http://www.locoduino.org/spip.php?article148



Dans mon projet, l'élément clé est la définition des messages CAN qui circulent sur le bus. Grâce à cela, chaque module peut évoluer indépendamment des autres. ;D

Et comme le projet est devenu modulaire grâce à cette architecture, je vais pouvoir en décrire la réalisation en plusieurs parties indépendantes.

Je vais commencer par le câblage de l'alimentation DCC qui vient en même temps que la pose des rails, avec la réalisation des détecteurs d'occupation par consommation de courant.

Logiquement je devrais poursuivre par la centrale DCC qui alimente le réseau. Mais la première version réalisée à base de la bibliothèque CmdrArduino ne me satisfait plus depuis que j'ai testé DCC++.  Je vais donc passer son tour en attendant d'avoir réalisé et testé la nouvelle centrale avant de la publier, car j'ai décidé de ne publier que ce qui marche !.

En attendant je vais décrire le TCO manuel dont a vu les images plus haut.

Ensuite viendra le module de commande des aiguilles.

Il restera ensuite :
  • le gestionnaire
  • le module de commande des signaux

... et plein d'autres modules de gestion du décor pour animer, éclairer, sonoriser, etc...

Soyez patients  8)

2076
Présentez vous ! / Re : DCC et annonces de gare
« le: mai 13, 2017, 09:05:10 am »
Bonjour,

J'ai essayé ce type de carte il y a longtemps et n'étant pas convaincu, j'ai développé mon propre système sonore plus versatile sur la base d'un Mini :

http://forum.locoduino.org/index.php?topic=157.0

Dans ce montage il doit être possible d'y ajouter la fonction décodeur d'accessoire (voir les projets DCC) :

http://www.locoduino.org/spip.php?id_mot=32&page=theme

Amicalement
Dominique

2077
Un autre piège à éviter, est la répétition intempestive des actions liées à une condition qui ne change pas.
Je m'explique :
La loop() va tourner très vite et se répéter par exemple 200 fois par seconde.
Si le test d'un interrupteur se traduit par l'allumage ou l'extinction d'une Led, ce n'est pas gênant.
Mais si le test d'un ILS démarre une tempo, tu risques de redémarrer la tempo 200 fois par seconde et tu auras l'impression qu'elle ne s'arrête jamais.

Pour éviter cela, il faut une variable booléenne de plus qui conditionnera le démarrage de la tempo une seule fois, si elle est vraie par exemple. En changeant cette variable à fausse au démarrage de la tempo, celle-ci ne redémarrera pas une nouvelle fois au tour de LOOP suivant, même si l'ILS est dans le même état actif.

Pour tout ce qui est dans la catégorie des contacts, je te conseille aussi les anti-rebonds comme la bibliothèque Bounce2 par exemple.

Bonne journée.
Dominique

2078
Bonjour Danièl,

Je pense qu'on peut dire que ton programme est plutôt mal conçu et n'a pas la valeur didactique que tu souhaites.
Si tu veux intégrer d'autres ILS, d'autres boutons, d'autres Leds, tu n'y arriveras pas !

Il faut toujours avoir en tête que la loop() est une boucle qui se répète indéfiniment. A l'intérieur de la loop(), il doit y avoir une suite d'actions (conditionnées par des tests) et RIEN qui l'arrête : Donc il est interdit d'écrire ça :
while (digitalRead (ILS) == HIGH) {   // on attent le retour du train 1
     }
Car ton programme s'arrête si la condition n'est pas réunie !

A la place il faut écrire :
if (digitalRead (ILS) == HIGH) {   // au retour du train 1
    //faire ce qu'il y a à faire dans ce cas
     }

Autre anomalie à fuir systématiquement car cela stoppe aussi ton programme (plus rien ne se passe pendant ce temps et, comme le disait Christophe, rien n'empêche ta loco de sortir des rails à l'improviste) :
delay(attente_0);
A la place il faut utiliser une variable globale
long int temps_0
Quand tu veux démarrer la tempo tu écris
temps_0 = millis();
Quand tu veux tester la tempo pour savoir si la durée attente_0 est atteinte, tu écris :
if (millis() - temps_0 >= attente_0) {
      // faire ce qu'il faut faire quand la tempo attente_0 est atteinte
      }

Maintenant que plus rien ne bloque ton programme, il faut repenser entièrement ce que tu veux lui faire faire en étudiant toutes les actions possibles et toutes les conditions qui permettent de réaliser ces actions, sachant que la loop() va répéter tout cela indéfiniment et très rapidement.

Il faudra donc utiliser des variables d'état pour chaque action, qui autorisent chaque action dans un test if.

Tu trouveras des tonnes d'exemples sur Locoduino qui te montrent comment faire tout cela, comme celui de cet article :
http://www.locoduino.org/spip.php?article117

Si tu as besoin de plus d'explications n'hésites pas à demander.

Cordialement
Dominique

2079
Infos et bonnes affaires / Re : Selectronic c'est terminé
« le: mai 10, 2017, 11:53:45 am »
Il y a quelque semaines encore la vitrine de leur magasin à Paris, place de la Nation, était encore animée.

Je suis passé devant cette semaine : vitrine vide, rideaux, c'est fermé.

Il ne reste plus que RAM à 200 mètres.

C'est important d'avoir un magasin quand on a besoin d'un composant pour dépanner.

2080
Présentez vous ! / Re : après Railuino : Raildue
« le: mai 10, 2017, 11:40:43 am »
Merci beaucoup pour cette information des plus utiles.

Cordialement
Dominique

2081
Vos projets / Re : DIAPORA-PUB
« le: mai 07, 2017, 11:15:56 am »
Bonjour Marcel,

Je viens de publier les derniers détails de ma carte Sons et du circuit imprimé qui regroupe un Mini, le lecteur de carte SD et une alimentation, ainsi qu'une sortie son améliorée.

En regardant ton projet, je me dis que cette carte pourrait faciliter la réalisation de ton projet car il n'y a plus qu'à brancher l'écran !

Et comme l'écran, dans le décor du réseau, doit être un peu déporté par rapport au reste du montage, tout cela tombe bien.

Si cela intéresse quelqu'un, je suis prêt à diffuser les dossier de fabrication de cette carte (environ 6,5Mo) et j'en ai quelques unes disponibles.

Amicalement
Dominique

2082
Vos projets / Re : Un mini module sonore
« le: mai 07, 2017, 11:03:56 am »
Voici une photo du projet complet :



- Le circuit imprimé équipé
- le fil vert branché sur le GND sert à tester les sons en touchant les contacts
- la programmation et le moniteur passent par un mini module USB : j'ai soudé 5 fils (un bout de nappe, c'est plus solide) ) du coté du module (5V, GND, Tx, Rx, DTR) et un connecteur femelle à l'autre bout (type Molex) et j'ai fixé le module à l'intérieur d'une boite de transport de carte SD, transparente, ce qui permet de voir les leds, notamment pendant le téléversement de logiciel.

Ainsi le module de programmation est bien protégé et est réutilisable à l'infini : c'est, en gros, la moitié du prix d'un Nano et c'est pour cela que j'utilise des Mini dans ce genre de projet.

2083
Vos projets / Re : Un mini module sonore
« le: mai 07, 2017, 10:27:07 am »
Lorsqu'on branche le moniteur (115200 bps, 8,1, nouvelle ligne), on obtient :

Module Sons et Lumieres V1.3 du 6 Mai 2017 par D.Bultez
SD OK

Taper "0" permet d'obtenir la liste des fichiers présents sur la carte SD et leur taille :
0,
1:0000.WAV 68734
2:0001.WAV 94508
3:0002.WAV 48016
4:0003.WAV 50156
5:0004.WAV 394604
6:0005.WAV 48016
7:0006.WAV 96103
8:0007.WAV 93512
9:0008.WAV 198670
10:0009.WAV 218363
fin

La mise au 0v (LOW) des pins 2,3,4,5,6,et 7 déclenche la lecture des sons et l'affichage du N° de son, respectivement :
1 : lit 0001.WAV
2   ---
3   --- 
4   ---
5   ---
6 : lit 0006.WAV

Taper un numéro supérieur à 0 déclenche la lecture des sons :
7, je joue : 0006.WAV
8, je joue : 0007.WAV
9, je joue : 0008.WAV
10, je joue : 0009.WAV

On peut évidement stocker autant de sons que l'on veut sur la carte SD.

Je vous conseille de les nommer "00xy.WAV", mais de toute façon avec des noms courts de 8 caractères maximum. La bibliothèque SDFat nous ramène aux origines de l'informatique, mais c'est mieux que rien :'(

Chaque son doit être codé en WAV (sans compression), en Mono, sur 8 bits par échantillon, 22050 échantillons par seconde (ou moins).
Un conseil : n'utilisez pas trop l'équaliser qui aura tendance à saturer le convertisseur logiciel et je trouve la qualité meilleure sans.

J'utilise Audacity pour triturer mes sons.

Pour des sons  courts de quelques secondes, il n'y a pas de problème.
Pour des sons longs (plusieurs minutes, le soft se plante parfois).

Amusez-vous bien  ;) :D ;D

2084
Présentez vous ! / Re : après Railuino : Raildue
« le: mai 07, 2017, 09:13:22 am »
Merci Litzis,

Comme je ne veux pas de PC sur mon réseau, je vais surtout utiliser le protocole CAN entre le Due et le booster Marklin.

Mais avant, je dois découvrir tout ce qu'il sait faire. En particulier pour la programmation.

Cordialement
Dominique

2085
Vos projets / Re : Un mini module sonore
« le: mai 06, 2017, 10:17:23 pm »
Je joins également le schéma de la carte.


Pages: 1 ... 137 138 [139] 140 141 ... 170