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

Pages: 1 ... 17 18 [19] 20 21 ... 24
271
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: août 06, 2020, 03:50:00 pm »
Bonjour Minimir09,

Ton problème est résolu dans cet article : https://www.locoduino.org/spip.php?article204
Avec la carte shield 4 relays, tu peux faire 4 cantons avec les 4 signaux B.A.L associés (voir la vidéo).
En reproduisant le principe avec des cartes 8 relais qu'on trouve couramment sur internet, tu peux commander 8 cantons (sans les feux).
J'ai vu que ton circuit est constitué de trois ovales, ce qui peut donner 12 cantons et autant de signaux associés. La solution est peut-être d'envisager l'achat d'une carte Mega qui dispose de beaucoup de sorties pour commander tout cela. Sinon une carte Arduino + une carte shield par circuit en reproduisant trois fois ce qu'il y a dans l'article.
Et en cherchant un peu, tu trouveras aussi un article sur un TCO dessiné sur écran d'ordinateur : entrons dans la modernité !

272
Vos projets / Re : Une croix de pharmacie animée avec Arduino UNO
« le: juillet 01, 2020, 10:58:45 am »
Nous avons pas mal échangé, Guy et moi, avant de trouver l'origine du problème. Finalement, c'est ce qu'on soupçonne le moins qui se révèle le maillon faible : la plaque d'essai ou breadboard.
- les contacts peuvent ne plus assurer de bons contacts car une plaque d'essai, cela vieillit à force d'utilisation.
- ou bien au contraire, certains contacts peuvent être en court-circuit (peut-être plus rare).
- enfin, il est très facile de mettre un câble dans un mauvais trou (à qui ce n'est jamais arrivé ?).

Les programmes que nous publions sur LOCODUINO fonctionnent et ont été vérifiés souvent par plusieurs membres du comité de lecture. Aussi, si cela ne fonctionne pas chez vous, commencez par refaire le montage qui va avec :
- breadboard utilisée à un autre endroit, composants bien espacés sur cette breadboard pour mieux voir les connexions, vérification des soudures si vous en avez fait, utilisation de câbles courts et bien isolés, etc. Inspirez vous des photos de montage de l'article quand il y en a.

Si malgré un montage bien réalisé cela ne fonctionne toujours pas, alors il faut tester les composants utilisés. Dans l'exemple de la croix de pharmacie :
- les résistances laissent-elles passer le courant et leur valeur est-elle la bonne ? (à vérifier à l'ohm-mètre).
- la matrice permet-elle l'allumage de chaque LED indépendamment ? (une simple pile et une résistance pour tester cela)
- la carte UNO fonctionne-t-elle bien ? (surtout si elle est d'origine asiatique) et a-t-elle bien été programmée ? (avec les bons paramètres)

Cette petite recherche de panne n'est pas compliquée à faire : il faut simplement agir avec ordre et rigueur et cela peut vous permettre de résoudre le problème.

273
Merci d'avoir rendu compte.
Du coup, je modifierai peut-être l'article pour en parler.

274
Pour ceux qui ont une matrice de LED à cathodes communes

Voici les changements à faire dans le programme si votre matrice est à cathodes communes sur les lignes (ou rangées). N'ayant pas ce genre de matrice, je ne pourrai pas tester mais je pense que certains pourront le faire à ma place.

Reprenons la figure 3 et imaginons que nos LED soient inversées (cathodes communes sur les lignes).
Dans ce cas, c'est un niveau bas L (au lieu de H) qu'il faut appliquer à la ligne et un niveau haut H (au lieu de L) qu'il faut appliquer à la colonne pour allumer la LED.

Le balayage se fera toujours sur les lignes, mais avec un niveau LOW et l'affichage de toute la ligne (donc les différentes colonnes) se fera avec un niveau HIGH. Il suffit de changer tout cela dans la fonction affiche(,).

Oui mais dans ce cas, faut-il réécrire les motifs en changeant les 0 en 1 et les 1 en 0 ?

Heureusement non ! D'ailleurs, ce serait assez fastidieux alors que le programme peut s'en charger pour nous grâce à l'opérateur bitwise NOT (noté par un tilda) dont la propriété est d'inverser tous les bits d'une donnée binaire (les 0 sont remplacés par 1 et réciproquement). (voir https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwisenot )

Dans le setup, on met les lignes de la matrice à l'état HIGH au lieu de LOW (ligne 180) et les colonnes à l'état LOW au lieu de HIGH (ligne 183).

Dans la fonction affiche(,), à la ligne 194, on commande la ligne par un état LOW et à la ligne 196, on utilise l'opérateur bitwise NOT (le caractère tilda -> Alt Gr 2) ce qui fait que chaque bit du motif est inversé (0 au lieu de 1 et 1 au lieu de 0). Les lignes 199 et 200 sont également changées pour normaliser la matrice en fin de traitement.

Finalement, voici la nouvelle fonction affiche(,) qui doit être mise à la place de l'ancienne dans le programme que vous avez téléchargé :

void affiche(const byte motif[7], const unsigned long duree){
  // Réalise l'affichage d'un motif sur la matrice pendant un certain temps (duree)
  unsigned long topDuree;
  topDuree = millis();
  while(millis() - topDuree < duree){
    // tant que la durée n'est pas réalisée, on affiche une trame de 7 lignes
    for(int ligne=1; ligne<=7; ligne++){
      // On met la broche à l'état LOW. N° broche = N° ligne + 7
      digitalWrite(ligne+7, LOW);
      // On met les colonnes comme il se doit
      PORTD = ~motif[ligne-1];  // la première ligne est l'indice 0 du tableau !
      delay(3);
      // On éteint la ligne avant de passer à la suivante
      digitalWrite(ligne+7, HIGH);
      PORTD = 0b00000000;  // On met les colonnes à l'état LOW
    }  // fin de boucle for
  }  // fin du while 
}  // fin de la fonction affiche

J'espère ne rien avoir oublié. Le montage est exactement le même, donc ceux qui ont une matrice de LED à cathodes communes (peu importe la couleur) vont pouvoir tester et me dire ce qu'il en est...

275
Utilise la fonction "envoyer un mail" du forum ; cela revient au même.

276
Effectivement, si toutes les LED s'allument, c'est que le câblage est bon.
Envoyez moi un mail à l'adresse citée dans l'article de Loco-Revue et je vous enverrai une autre version du programme pour essai.

277
Si j'ai bien compris, seuls quelques motifs ne fonctionnent pas comme prévu, alors que le reste fonctionne.
Dans un premier temps, il faut discriminer entre un problème matériel qui empêcherait l'allumage de certaines LED et un problème logiciel.
Problème matériel : ce sont alors toujours les mêmes LED qui ne s'allument pas. Dans ce cas, revoir le câblage de la matrice de LED et des résistances (sont-elles bonnes ou grillées ?). Est-ce que la matrice permet l'allumage de chacune des LED (tester la matrice est assez facile même si c'est fastidieux). Parfois, une matrice peut avoir des LED grillées, surtout pour le matériel asiatique bas de gamme).
Problème logiciel : je suppose que vous avez téléchargé le programme depuis l'article, donc il ne devrait pas y avoir de problème. Néanmoins, vérifiez le par rapport au listing donné au moins pour les motifs qui ne fonctionnent pas (définition des motifs, variables de boucles pour être certain que l'affichage est réalisé pour toutes les images).
Si tout cela ne donne rien, je peux vous fournir d'autres versions du programme par mail pour faire des tests.

278
Présentez vous ! / Re : Présentation
« le: mai 01, 2020, 10:14:51 am »
Salut Guillaume,

Même si on s'est écrit par mail, je te souhaite également la bienvenue parmi nous et je suis content de te revoir.
On a développé pas mal de choses mais il y aura toujours des idées à explorer et on n'est jamais trop pour cela.
Bonne reprise.

Christian

279
Présentez vous ! / Re : Présentation
« le: mars 05, 2019, 11:01:45 am »
Bonjour Jihel et bienvenue,

Arduino a été conçu pour être facilement programmé même par des gens qui ne connaissent pas C ou C++. Donc ne t'inquiète pas.
Tu peux commencer avec les différentes fonctions d'Arduino que tu apprendras à utiliser grâce aux exemples de l'IDE (et à LOCODUINO) : et tu feras du C sans le savoir vraiment... parfois même du C++.

Et si tu veux aller plus loin par la suite, tu pourras t'intéresser à ces deux langages, cela te permettra de mieux coder voire même de mettre au point des bibliothèques pour d'autres utilisateurs (et là, il faut quelques connaissances de C++).

Mais tu n'en es pas là, alors prends plaisir déjà à découvrir Arduino et ce qu'il peut faire (beaucoup de choses sur un réseau).
Le site a été conçu pour que les débutants s'y retrouvent en utilisant la première colonne de la page d'accueil.
Bonne navigation chez nous !

Christian


280
Vos projets / Re : Re : RFID 13.56 Mhz & 125 Khz
« le: mars 03, 2019, 03:23:35 pm »
Non ça ne résout pas le problème de détection de rupture d'attelage.

Comme tout système de détection ponctuelle, il est fragile car il détecte un événement et pas un état. Si le wagon de queue ne passe pas devant le détecteur, il ne sera pas vu, si il passe mais qu'il y a une erreur de lecture, il ne sera pas vu. Dans les deux cas on en déduit une perte de wagon, mais il est quelque part entre les deux lecteurs.

Rien ne peut remplacer efficacement une détection d'état via la consommation.

Un système technologique peut toujours tomber en panne (ou avoir un bug ponctuel) et de ce fait, ne peut assurer seul une sécurité absolue. Ce n'est pas pour rien si on double, voire triple, les systèmes en aéronautique.
Ainsi par exemple, la consommation de courant sur un wagon peut tomber en panne (frotteurs captant le courant notamment) et du coup le wagon ne consomme plus rien et ne peut pas engager un canton.
Ce n'est donc pas plus efficace que le RFID, c'est juste plus simple à installer.

Une véritable sécurité doit faire appel à deux systèmes indépendants pour produire une même fonction : donner l'état d'un canton, libre ou occupé. La consommation de courant est un des systèmes les plus utilisés et ce n'est sans doute pas pour rien.
Comme tu le dis, le RFID permet de constater la perte d'un wagon et savoir qu'il se trouve entre deux détecteurs : on peut donc en conclure que toute la zone entre les deux détecteurs est occupée.

Mais le RFID permet de plus de savoir quels wagons sont immobilisés, ce que ne fait pas la détection par consommation de courant. On sait donc tout de suite si le canton est occupé par une rupture d'attelage ou bien si c'est le train entier qui est en rade.

Encore une fois, ce système reste prometteur mais n'a pas la prétention de tout résoudre comme par magie.

281
Vos projets / Re : RFID 13.56 Mhz & 125 Khz
« le: mars 02, 2019, 04:13:22 pm »
C'est tout à fait une bonne idée qui résout le problème de la détection de rupture d'attelage.
Néanmoins, soit cela t'oblige à terminer tes compositions par le même wagon (ou voiture), soit cela t'oblige à ajouter une étiquette à ce dernier wagon s'il n'est pas déjà étiqueté et à la longue, tu finiras par avoir tout ton parc étiqueté.
Si les étiquettes ne coûtent que 0,50 euros, il est sans doute préférable d'étiqueter tout le parc d'un seul coup. Marcel a dit qu'il avait fait des essais sur plus de 300 wagons, c'est déjà un beau parc !
De toute façon, il faudra un fichier pour faire la corrélation entre le tag de queue et la motrice de tête, dans un cas comme dans l'autre. Ce fichier peut d'ailleurs se constituer de lui-même en lisant tous les tags en sortie de gare jusqu'à ce qu'il n'y en ait plus à lire : on sait alors que telle motrice a tels wagons derrière elle. Et plus loin, on contrôle si c'est toujours le cas.
Vraiment ce RFID est très prometteur.  :)

282
Vos projets / Re : RFID 13.56 Mhz & 125 Khz
« le: mars 01, 2019, 10:12:06 am »
Voilà un sujet très intéressant, la reconnaissance de trains (voire de parc roulant c'est à dire de wagons ou voitures).
Et bien sûr, ce sujet introduit la notion de gestion de réseau (comme dans la réalité ou non, est-ce d'ailleurs si important de reproduire ou non cette réalité ?).
En lisant ces trois premières pages, la question primordiale qu'il faut se poser est qu'est-ce que la reconnaissance de train peut apporter dans la gestion d'un réseau ?

Il est parfaitement possible de gérer les circulations sur un réseau en considérant la topologie du réseau et sans rien considérer du matériel roulant. Dans ce cas, un réseau est constitué de zones ou de cantons qui sont soit libres soit occupés. La circulation consiste alors à ne faire entrer un train (peu importe quel train) que si la zone ou le canton est libre. Pour déterminer l'état de la zone, plusieurs solutions : détecteur de consommation, détecteur à l'entrée et à la sortie, etc.
Ce système a fait ses preuves (à la SNCF aussi) durant des années, mais reste malgré tout très sommaire. L'identification de trains était dû à l'intervention humaine : on savait où se trouvaient les trains parce qu'on les traçait (cantonnement téléphonique par exemple). Sur un réseau miniature, cela permet à plusieurs trains de circuler sur le même réseau, mais on ne peut prévoir des itinéraires que difficilement (le fameux gestionnaire qui fait tant parler de lui actuellement).

Avec la reconnaissance de trains, c'est un tout autre monde qui s'ouvre à nous. Par exemple, on peut décider à l'avance qu'un train (Mistral par exemple) devra aller d'une gare A à une gare B et dépassant un tortillard en gare C. Le système, vous l'avez compris de ce qui a été écrit ici, sait qui occupe les cantons donc où sont le Mistral et le tortillard. Le gestionnaire sera toujours aussi compliqué à mettre au point, mais au moins il a une connaissance plus fine de ce qui se passe sur les rails. Tout cela pour dire que la reconnaissance de trains n'a un intérêt que si on veut établir des itinéraires de circulations (à mon avis). Pour autant, cette technique peut grandement simplifier la gestion classique du réseau en apportant plus de sécurité. Comme l'a dit Christophe, avec un détecteur en entrée ou en sortie de zone ou canton, on peut détecter si un matériel s'est décroché et tout cela sans nécessiter un graphitage des essieux (seule la pédale de voie pouvait le faire en comptant les essieux, mais il ne fallait pas en louper sinon cela ne marchait pas).

Voilà donc pourquoi je pense que ce système est à développer, car d'une part il peut simplifier la gestion classique du réseau, d'autre part il peut évoluer vers une gestion des circulations plus proche de la réalité. De plus, le détecteur peut se cacher sous la voie alors que certains autres détecteurs (barrière IR par exemple) nécessite d'autres artifices (armoires de voie par exemple). Et bien évidemment, il faut bien réfléchir au nombre de détecteur par satellite, en fonction de ce qu'on veut obtenir (un en entrée et un en sortie de canton aurait ma préférence, mais le détecteur de sortie peut être confondu avec le détecteur d'entrée du canton suivant).

Avec ce système, on peut entrevoir l'automatisation d'une butte de triage, chaque wagon étant reconnu et dirigé vers la voie adéquate par le système. Et tant d'autres choses (annonces en gare en fonction du train qui entre) : c'est donc un plus considérable qui apporte plein de possibilités même en dehors d'un gestionnaire compliqué à mettre au point.

Bravo et merci à Marcel pour avoir initié ce fil.

283
Superbe !
ça me donne envie de passer au numérique et au H0...

284
Bonjour Denis,

Les liens que tu donnes sont réservés à ceux qui écrivent pour Locoduino (cela se voit au mot /ecrire/ dans le lien et il faut un code d'accès) !
Pour consulter les articles, voici des liens pour tout le monde :
http://www.locoduino.org/spip.php?article42
http://www.locoduino.org/spip.php?article103

285
Vos projets / Re : Réalisation de carte pour compléter le shield ATTiny
« le: février 24, 2018, 12:19:54 pm »
.....
En effet, pour réaliser mon module, je me suis basé sur ce que Christian avait écrit et dessiné sur le site Locoduino concernant la procédure de programmation du microcontrôleur ATtiny45 (http://www.locoduino.org/spip.php?article189).
Dans cet arcticle sur Locoduino, à aucun moment il n'est fait mention de condensateur, et j'ai déjà programmé sans problème plusieurs ATtiny45 comme celà.
.....

Bonjour,

Je m'aperçois que j'ai un peu de retard à rattraper avec ce fil...

Le schéma que j'ai publié pour la programmation des ATtiny avait été trouvé par Guillaume22 sur le site Arduino il me semble. Il fonctionne très bien surtout si on utilise le 5 V du module Uno, déjà assez bien stabilisé, et surtout une breadboard qui n'a pas encore de faux contacts de connexion. Avec ce schéma, je n'ai jamais loupé la programmation d'une puce.

Néanmoins, Jean-Luc a raison, avec un condensateur de découplage, c'est mieux. Et si on rajoute aussi des LED de contrôle, c'est encore mieux comme le préconise Randall Bohn dans les commentaires du programme ArduinoISP. Le montage que propose Jean-Luc est donc la Rolls des programmeurs d'ATtiny par rapport à la solution de fortune que j'ai publiée (moins il y a de composants, plus il y aura de lecteurs pour essayer... même si cela trouve parfois des limites  :-[ ). Comme je l'ai dit, la solution de fortune ne m'a jamais fait défaut, mais pour celui qui veut programmer pas mal d'ATtiny, mieux vaut opter pour la solution de Jean-Luc évidemment.

Pages: 1 ... 17 18 [19] 20 21 ... 24