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 ... 16 17 [18] 19 20 ... 24
256
Si, vous auriez fini par trouver de vous-même !  ;)

Il y a deux choses à retenir : d'abord, écrire le programme en suivant les normes de présentation et en commentant de façon précise. On le fait pour soi et aussi pour ceux qui doivent apporter de l'aide. Définir les entrées-sorties par des noms et non par des numéros permet de modifier aisément le montage si celui-ci doit évoluer.

Deuxièmement, quand un programme fonctionne seul mais ne fonctionne plus quand on lui rajoute du code, c'est que le dysfonctionnement vient du code rajouté et c'est donc là qu'il faut chercher. Les PWM sont générées par les timers du microcontrôleur (voir les articles que j'ai écrits sur les timers). Or, certaines bibliothèques utilisent aussi les timers donc il peut y avoir incompatibilité. C'est pourquoi il est nécessaire de toujours se référer à la documentation qu'on trouve sur le site d'Arduino et on peut la traduire si on n'est pas familier de la langue de Newton (restons dans la science !).

Quatre LED sur une sortie, c'est un peu beaucoup. Le mieux est de se limiter à 2, donc il faudra deux sorties si vous voulez avoir quatre feux clignotants. Ce sont les PN modernes qui ont 4 feux clignotants, visibles de toute part. Il y a quelques années, on ne trouvait que deux feux, un de chaque côté de la voie. Selon l'époque de votre réseau, à vous de voir... Mais vous pouvez aussi trouver une sortie PWM pour les deux LED quitte à réaffecter un servo ailleurs. Quant au shield, il faut l'élaborer quand le prototype est au point, pas avant. Mais celui-ci peut facilement se modifier en rajoutant un fil ou en coupant une piste.

Tenez-nous au courant de votre montage : photos ou vidéos bienvenues.

257
Voici d'ailleurs ce qui est dit au sujet de la bibliothèque Servo sur le site arduino.cc (j'ai simplement fait traduire la page en français par mon navigateur) :
Pour voir l'image, il faut être connecté. Pour la lire, il faut l'agrandir en cliquant dessus.

258
Sur votre schéma, il manque un câble rouge qui reprend l'alimentation 5 V de la ligne rouge d'alimentation du bas de la breadboard pour alimenter la ligne rouge d'alimentation du haut de la breadboard, mais ce câble doit exister sur votre montage puisque les servos fonctionnent (sur le schéma, ils ne sont pas alimentés en +5 V).

La bibliothèque Servo utilise le timer 1 ; justement celui qui délivre la PWM sur la broche 10. Il y a donc incompatibilité.
Branchez votre LED sur la broche 11 du Nano et dites moi si cela fonctionne mieux.
Si oui, il faudra brancher la première LED sur broche 11 et la deuxième LED sur une autre broche PWM sauf la 9 (timer 1 également).
C'est là que vous verrez l'importance de ne pas utiliser les numéros de broches dans un programme !  ;)

Enfin, et contrairement à ce que vous dites, je ne trouve pas que votre programme soit plus clair. Inspirez-vous du programme qu'a fait Thierry : celui-ci est clair et adoptez les bonnes pratiques dès maintenant. Bon, j'ai tout de même compris grâce à vous que "capteur sortie de PN" est bien une entrée. Mais pourquoi ne pas l'écrire en toute lettre puisque c'est en commentaire ? Croyez-moi, en perdant un peu de temps à décrire en détail un programme, on gagne énormément de temps pour sa mise au point (surtout si on reprend le programme un an plus tard pour l'améliorer : du genre "qu'est ce que j'ai bien voulu dire ?"  ???).

259
Présentez vous ! / Re : Presentation
« le: septembre 21, 2020, 02:14:58 pm »
Bienvenue !
Il y a quelques N'istes dans le staff et nous aussi, nous avons débuté un jour.
LOCODUINO propose plein d'articles pour les vrais débutants ainsi que des projets très simples à réaliser.
Bon amusement.

260
Si le petit programme du haut fonctionne seul, c'est déjà une bonne chose. reste à savoir pourquoi il ne fonctionne plus quand il est intégré dans un programme plus vaste.
Cependant, voici quelques conseils pour débutant :
- initialiser les durées avec unsigned long comme cela a été dit par simontpellier
- définir les broches de votre carte plutôt que d'utiliser les numéros ; ainsi si dans l'avenir vous devez changer, ce sera plus facile que de reprendre l'ensemble du code. Pour cela, vous pouvez faire appel à #define sortie_Led 10 ou bien à const byte sortie_Led = 10;
- certains commentaires ne sont pas en accord avec l'instruction comme par exemple pinMode(3, INPUT); // sortie A (si c'est réellement une sortie, ce devrait être OUTPUT !)
- mettre un commentaire de début /* */ pour rappeler comment votre carte est branchée par rapport aux capteurs et actuateurs  ; cela facilite la lecture par d'autres programmeurs (ou alors, faites un schéma de câblage avec le logiciel Fritzing et joignez le pour demander de l'aide).
- initialisez vos booleans avec true (ou bien false) car c'est plus logique que de donner la valeur 1 (même si au final, c'est bien ce qui se passe)
- bien qu'on puisse mettre plusieurs instructions sur une seule ligne, je vous déconseille de le faire car c'est bien plus lisible pour un autre programmeur d'avoir une seule instruction par ligne (avis personnel mais qui risque d'être partagé dans notre communauté)

Il n'y a sans doute pas grand chose à corriger, mais c'est effectivement difficile de réfléchir sur le programme de quelqu'un d'autre. L'utilisation de Serial.println() comme l'a dit Thierry vous permettra d'afficher ce qui se passe réellement et de comprendre pourquoi quelque chose déraille. Mais vous y arriverez.

261
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 19, 2020, 10:45:23 am »
Ce genre d'ILS n'est intéressant qu'en électronique classique.
Avec l'électronique programmable, il n'y a aucune valeur ajoutée puisque le microcontrôleur est capable de traiter lui-même le signal, comme par exemple réagir à un ILS fermé ou ouvert ou changeant d'état.

262
Discussions ouvertes / Re : l'IDE arduino
« le: septembre 19, 2020, 10:36:13 am »
Bonjours à toutes et tous,

En programmant avec l'IDE de Arduino, est-il possible pour des raisons de débogage, de faire du "pas à pas" et afficher le résultat de chacune des instructions ?
Merci pour les réponses.

L'IDE est un petit programme, simple à utiliser, qui s'adresse justement à ceux qui n'ont pas les connaissances d'un informaticien et c'est justement cela qui a fait son succès. Il est composé d'un éditeur de texte qui permet d'écrire un programme et il utilise d'autres logiciels afin de transformer ce programme en une suite d'instructions machines comprises du microcontrôleur des cartes Arduino.

Cette simplicité voulue fait que l'IDE ne fait pas tout et notamment pour le debug d'un programme. Il y a d'autres solutions comme PlatformIO mais quand on débute, le mieux est de se contenter de l'IDE et pour debuguer, on place (comme cela a été dit) des println pour surveiller les valeurs de variables et voir comment le programme s'enchaine.

Votre volonté de progresser vous honore mais sachez aussi prendre votre temps car c'est nécessaire à toute progression ; nous en avons fait de même lorsque nous avons débuté. Je constate que vous avez déjà passé de nombreuses étapes, alors bravo. Le reste viendra naturellement en son temps et peut-être qu'un jour vous manipulerez d'autres solutions que l'IDE. De nombreux articles ont été écrits dans LOCODUINO sur l'IDE et ce qu'il peut faire (dans la catégorie débutant) ; n'hésitez pas à les lire car plus vous maitriserez cet outil, plus il vous sera facile de concevoir un programme et de le mettre au point. Mais l'IDE ne fait pas tout : si un programme n'est pas bien conçu, il ne donnera pas satisfaction. D'où l'intérêt de manipuler des exemples simples afin de progresser en comprenant ce qui est fait et en adaptant ce qui marche à vos propres besoins.

Bonnes réussites.

263
Pour tout savoir sur la breadboard : https://www.locoduino.org/spip.php?article83
Et pour comprendre le courant électrique : https://www.locoduino.org/spip.php?article186 (mini cours à télécharger).

Enfin, avant d'entreprendre un montage sur breadboard, je conseille déjà de découvrir Arduino et notamment via cet article : https://www.locoduino.org/spip.php?article217

Oui, je sais, faire clignoter une petite LED n'a rien d'extraordinaire, mais nous sommes tous passés par là. C'est un début obligatoire et après, il n'y a pas de fin car il y a toujours quelque chose à découvrir et à expérimenter.

264
Ceux qui « savent » ont passé beaucoup de temps à expliquer dans leurs articles.
Et ils seraient tous très heureux de pouvoir vous aider.
Encore faudrait il savoir ce que vous voulez faire car très franchement je ne suis pas convaincu que vous en ayez une idée précise.
Vous donnez l’impression de vouloir pratiquer le DCC avec l’aide d’Arduino mais cela reste très vague.

Découvrez d’abord les possibilités d’Arduino (articles de débutants) pour ensuite déterminer un projet où Arduino pourra apporter un plus à votre centrale DCC.
Comme votre niveau est débutant, ne cherchez pas à faire une usine à gaz mais allez y par petits pas afin de parcourir un bond de géant au final.
Tout ne se fait pas en un jour ! Nous aussi on est passé par là : cela s’appelle l’apprentissage et c’est beaucoup de bonheur.

265
Tout dépendra de ta patience et de ta volonté. Sans vouloir te faire de peine, le chemin risque d'être long et voici pourquoi :
Tu as une centrale et 80 locos non numérisées : as tu déjà l'expérience du DCC ?
Tu veux améliorer ta centrale avec de l'Arduino : pour faire quoi au juste ? Le sais tu déjà ?
Quelle est ton expérience en programmation ?
Tu dis que tu ne connais pas l'électronique : il te faudra apprendre un minimum.
Enfin quel est ton budget car si tu veux rester en DCC, il faudra numériser tes locos et cela fera une belle facture.
Enfin, que ce soit en DCC ou en analogique, une boucle de retournement demande certaines précautions.
Dernière chose mais je ne suis pas certain d'avoir compris : transformer du Märklin 3 rails en 2 rails ne me paraît pas une si bonne idée car compliqué.
En conséquence on a du mal à te conseiller car on ne comprend pas vraiment ce que tu veux faire. Tâche de redéfinir ton projet et on te dira par où commencer.
Cordialement.

266
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: août 13, 2020, 09:54:25 am »
Bonjour Jacques.
Attention à ne pas tomber dans le piège des forums où un lecteur vient expliquer son projet pour finalement réaliser le projet des autres.
La première chose que tu dois faire, c’est bien définir ce que tu veux TOI en fonction de tes besoins et de tes envies. Cela fera apparaître des étapes à surmonter et pour cela tu pourras t’appuyer sur les conseils du forum.
Si tu débutes en Arduino, il te faudra un peu de temps avant de pouvoir mettre en oeuvre écran plat ou Due. Mais c’est aussi passionnant de se fixer ce but. Tout ce qu’on te cite doit t’inspirer sans forcément constituer LA solution. Tu auras beaucoup plus de plaisir à développer TA solution.
Et pour cela le site LOCODUINO te donne toutes les briques élémentaires. Et le forum sera là pour te conseiller et d’autant mieux si tu sais pertinemment ce que tu veux obtenir...
Bon développement.

267
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: août 09, 2020, 10:45:10 am »
Ce genre d'écran est aujourd'hui bon marché comme le montre le lien.
J'ai fait des démonstrations au dernier Trainsmania : un premier programme pour montrer que dessiner est très simple grâce à une bibliothèque (des cibles SNCF dans mon cas) et un deuxième exemple qui reproduisait le tracé de mon réseau affiché pavé par pavé (voir deuxième vidéo de cet article : https://www.locoduino.org/spip.php?article255 ).
J'avais bricolé le tout en deux jours suite à l'arrivée tardive de l'écran, aussi cela ne faisait rien de plus mais cela démontrait la faisabilité d'un petit TCO graphique indépendant.
Bravo pour la qualité de ce que tu présentes ; tu es allé beaucoup plus loin que moi...
Faisons tout de même attention à ne pas squatter le fil de Jacques pour son réseau TT : peut-être qu'ouvrir un fil sur la conception et l'amélioration de TCO grâce à Arduino intéresserait d'autres lecteurs.
Quel que soit votre choix de technologie, Arduino permet des améliorations et des simplifications, alors bonnes réalisations.

268
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: août 08, 2020, 10:37:41 am »
Bonjour Jacques,

La modernité ne signifie pas forcément le "tout automatique". J'en parlais à propos du TCO.
Ta façon de t'amuser est de commander une partie de ton réseau avec un TCO prévu pour commander aiguilles et signalisation. Mais pourquoi faire appel pour cela à des interrupteurs, des poussoirs et des LED de contrôle ?
Le matériel représente déjà un certain coût et en plus, il faut câbler l'ensemble, ce qui peut représenter pas mal de fils. Donc, pas mal de travail. Et si un jour tu veux rajouter une aiguille et une voie de garage, alors il faut tout reprendre.
C'est là que la modernité intervient en donnant de la souplesse au projet : ton réseau est dessiné sur un écran (d'ordinateur ou une tablette ou un écran dédié) et une modification ne demande que quelques lignes de programme en plus. En cliquant sur une aiguille, tu changes le parcours (comme tu le ferais de façon non automatique avec des poussoirs) et le nouveau trajet se dessine sur l'écran. L'informatique peut aussi vérifier que l'itinéraire que tu demandes est possible et empêcher des catastrophes et mettre la signalisation à jour.
C'est donc bien toujours toi qui joues (conduite de tes trains en respectant la signalisation), mais ce genre de TCO est très évolutif ; par exemple, si un jour tu décides de faire de la reconnaissance de train par RFID (dernier article publié par Dominique), le nom du train peut s'afficher sur la bonne voie. Etc., etc.
Voilà ce que j'entends par modernité ; ce n'est pas renoncer au plaisir de jouer, mais c'est introduire de la souplesse, de la sécurité, du retour d'information. Bien évidemment, ce n'est qu'une proposition faite pour t'informer des possibilités d'Arduino, tu es libre de décider ce qui est bon pour toi. Certains modélistes ne jurent que par les schémas de Chennevez et ils ont toute ma considération, surtout quand on voit la complexité du câblage...
Ce qui compte, c'est de s'amuser avec ce qu'on entreprend et ton projet est déjà sur les rails. A ta disposition si tu as besoin d'aide dans le futur.

269
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é !

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

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