LOCODUINO
Parlons Arduino => Vos projets => Discussion démarrée par: Juan le novembre 05, 2022, 12:26:18 pm
-
Salutations à tous,
Après un long délai, je me suis enfin décidé à assembler la manette décrite dans https://www.locoduino.org/spip.php?article286 (https://www.locoduino.org/spip.php?article286). J'ai déjà tout le matériel, y compris les 10 PCBs (il y en a beaucoup, il m'en reste quelques-uns, si quelqu'un en a besoin, faites-le moi savoir).
Tout d'abord, je constate quelques bugs. Avant tout, il semble qu'il existe deux versions du PCB : si l'on compare les images des pages 5 et 11 de l'article, on constate que la sérigraphie est différente ; par exemple, C7 et C8 de la page 5 deviennent C1 et C2 de la page 11.
Cela n'a pas d'importance, mais le défaut suivant est un peu plus sérieux : un pin header femelle 1x4 a été réservé pour les pins arrière du ProMini, A4,A5,A6 et A7, mais le ProMini a cinq pins arrière, car il inclut le GND. Et ils ne correspondent pas.
Quoi qu'il en soit, ce qui est plus urgent pour moi, c'est que je n'ai pas pu télécharger les deux fichiers pdf du schéma du circuit imprimé à l'échelle 1 pour le percage de la face avant et arrière. Pour quelque raison, le lien ne fonctionne pas.
Bref, je ne veux pas m'étendre davantage pour aujourd'hui. Merci beaucoup à tous pour votre attention.
Cordialement
Juan
-
Bonjour Juan,
comme il y a deux circuits par carte, la numérotation des composants sur chacune est différente.
Malheureusement depuis la publication de l'article le brochage des Pro Mini a évolué par rapport au modèle qui est en photo.
Pour les Pro Mini, on ne trouve plus (sauf exception hors de prix) que deux modèles :
1. avec A6, A7 et GND - A4 et A5 sont ailleurs sur le bord
2. avec A4, A5, A6, A7 et GND
Mais sauf erreur, toutes ces broches sont inutilisées comme on le voit sur la Figure 12.
Pour les fichiers pdf, ce devrait être corrigé.
-
Bonjour msport,
Merci pour votre réponse rapide.
Concernant le brochage des Pro Mini, pas de problème, je l'ai déjà corrigé d'une manière ou d'une autre.
Je ne comprends pas :
comme il y a deux circuits par carte, la numérotation des composants sur chacune est différente.
Eh bien, en attendant les pdfs, je vais continuer à travailler et je vous en parlerai.
Meilleures salutations,
Juan
-
...
Malheureusement depuis la publication de l'article le brochage des Pro Mini a évolué par rapport au modèle qui est en photo.
...
Ne serait-il pas possible de faire une mise à jour de l'article ? (changer la photo par exemple)
Après tout, un article est fait pour évoluer et nous avons une procédure rédactionnelle pour indiquer une mise à jour. ;)
-
Pour les fichiers pdf, ce devrait être corrigé.
... maintenant !
-
...
Malheureusement depuis la publication de l'article le brochage des Pro Mini a évolué par rapport au modèle qui est en photo.
...
Ne serait-il pas possible de faire une mise à jour de l'article ? (changer la photo par exemple)
Après tout, un article est fait pour évoluer et nous avons une procédure rédactionnelle pour indiquer une mise à jour. ;)
On parle ici de la photo du Pro Mini qui est dans le boitier.
En fait, la photo du Pro Mini dans la liste des composants est à jour (c'est celle d'un des deux modèles disponibles aujourd'hui)
Il n'est peut-être pas utile de refaire la photo du boitier, d'autant que n'importe quel Pro Mini convient à ce montage.
Le connecteur en question n'est pas utilisé (cf. le schéma)
-
Alors, ajoute simplement une phrase dans l'article pour expliquer ce que tu dis ici. ;)
-
En fait, la question avait été signalée dans le texte :
Un Arduino Pro-mini 5V 16Mhz. Il en existe plusieurs modèles dont les broches A4 et A5 sont tantôt à coté des broches A2 et A3 mais en retrait par rapport au bord, tantôt en bordure sur le petit coté avec A6 et A7. Cela a son importance car la mesure de la tension de la batterie sur l’écran initial nécessite la broche A7, ce qui rend nécessaire la version avec les quatre broches A4-A7 alignées.
De fait, ce n'est que la mesure de la tension initiale de la batterie qui est en question si on n'a pas acquis le bon modèle de Pro Mini.
On peut contourner le problème en soudant un fil volant entre A7 et le + de la batterie. Par exemple entre A7 et le Vin du module step-up.
J'ajoute cette phrase à l'article après le paragraphe précédent.
-
Bonjour à tous,
Je suis en train de terminer l'assemblage, je dois encore configurer mon écran TFT, mais je ne comprends toujours pas une question : pourquoi y a-t-il deux versions du PCB ?
Cordialement,
Juan
-
J'ai maintenant terminé la configuration de l'écran. Tout semble fonctionner, les différents écrans apparaissent correctement, mais qu'est-ce qui ne va pas ?
Lorsque j'appuie sur une touche, l'écran réagit d'abord en conséquence, puis il se réinitialise.
Qu'est-ce qui pourrait ne pas aller ? Toute aide serait la bienvenue.
John
-
pourquoi y a-t-il deux versions du PCB ?
Bonjour,
Pour optimiser la carte 100 x 100 mm, deux exemplaires du circuit 50 x 100 mm y ont été reproduits.
Ces deux exemplaires créés par Eagle ne peuvent avoir les mêmes numéros de composant et Eagle les a recalculé.
Vous avez du séparer les deux moitiés de votre circuit imprimé et ces deux moitiés portent donc des numéros de composant différents.
Référez vous au premier.
A part cela, ils sont identiques.
-
Qu'est-ce qui pourrait ne pas aller ?
Pouvez vous poster la photo de votre montage, tel qu'il est alimenté ?
Recto verso si possible.
-
Pour optimiser la carte 100 x 100 mm, deux exemplaires du circuit 50 x 100 mm y ont été reproduits...
Clarifié, merci beaucoup.
-
Bonjour,
Merci beaucoup pour votre intérêt.
Voici les images. Avec le voltmètre, je vérifie que les 5v et 3,3v restent constants. Et l'arduino ne s'éteint pas, il semble que ce soit un problème logiciel. Mais allez, je n'en ai aucune idée.
Cordialement,
Juan.
-
:-[Désolé, j'ai oublié les images
-
Quelle journée, l'autre image
-
Lorsque j'appuie sur une touche, l'écran réagit d'abord en conséquence, puis il se réinitialise.
Merci pour les photos.
Je comprends que lorsque vous appuyez sur la touche 1, la fonction s'affiche un instant puis disparait ?
Une photo de l'écran réinitialisé ?
Pouvez vous regarder ce qui est envoyé sur le serial monitor ?
Peut-être un problème avec la bibliothèque qui gère le clavier ?
-
Bonsoir, et merci encore pour votre réponse rapide.
Je comprends que lorsque vous appuyez sur la touche 1, la fonction s'affiche un instant puis disparait ?
C'est effectivement le cas. Et il en est de même pour toutes les autres touches.
Une photo de l'écran réinitialisé ?
L'écran de démarrage normal habituel
(https://www.locoduino.org/IMG/png/accueil.png).
Peut-être un problème avec la bibliothèque qui gère le clavier ?
Je crois sincèrement que cela pourrait être la raison. Parce qu'il y a quelque temps, j'avais fait un prototype du manete avec un clavier 4x4 conventionnel, et je n'avais pas eu de problèmes.
Qu'est-ce que je peux faire alors ?
Merci beaucoup et bonne nuit.
Juan.
-
Bonjour,
Je suis ce fil de très loin mais je crois avoir compris que vous avez un problème avec le clavier.
Or, lorsque je regarde la photo que vous avez postée, je me demande si la visserie (visible en bas à gauche) ne toucherait pas un des plots de la touche, faisant ainsi un contact permanent.
La première chose à vérifier est que vous n'avez pas de courts-circuits. Essayez de démonter cette vis et réessayez. On trouve les mêmes en nylon non conducteur.
Ne connaissant pas bien cette manette, ce n'est qu'une idée qui ne résoudra peut-être rien mais cela vaut la peine de regarder. ;)
-
Bonjour chris_bzg
Comme vous le dites, on ne perd rien à essayer. Je l'ai fait, mais malheureusement le problème persiste.
En tout cas, merci beaucoup pour votre intérêt.
Cordialement,
Juan
-
Bonsoir Juan,
il faudrait tester les exemples de la bibliothèque Keypad.
-
Bonjour à tous
Suivant les conseils de msport, j'ai testé les exemples de la bibliothèque Keypad (à savoir CustomKeypad, Hello Keypad et MultiKey) et ils ont tous fonctionné parfaitement.
Conclusion : je ne comprends rien :-\ (et en plus, je comprends de moins en moins :-[!).
Nous devrons continuer à faire des tests.
Merci à tous pour votre intérêt.
Cordialement,
Juan
-
Rebonjour.
Plus de détails, au cas où ils aideraient quelqu'un qui comprendrait mieux que moi :
Je connecte l'Arduino via USB (avec un FTDI), et ouvre le moniteur série IDE. Il montre <1>
1.- Je tape la touche 1 : <f 81 129> apparaît sur le moniteur, puis l'arduino se réinitialise jusqu'à ce que <1> apparaisse à nouveau sur le moniteur.
2.-Touche 9 : <f 81 184> est affiché, remise à zéro, et <1>.
Mais encore plus curieux :
3.-Touche # : affiche <t1 90 0 (sans le > à la fin !), reset, et <1>.
4.-Touche * : la séquence apparaît
<t1 81 0 1><t1 90 0 1><t1 44 0 1><t1 15 0 1><t1 2 0 1><0>, puis la remise à zéro et le <1>.
5.-Touche 0 : séquence <f 81 129 ><f 81 128 ><f 81 176 >, reset et <1>.
Cela dit, je comprends de moins en moins
Regards,
Juan.
-
Bonsoir Juan,
en première approximation (je n'ai pas vérifié les codes) ce qui est sur le serial monitor est correct.
Le codeur rotatif a t il été testé via le serial monitor ?
Reste à trouver l'origine du reset.
L'alimentation vient du module FTDI ? Testé via batterie + step up ?
Peut-on tester sans l'afficheur avec le module FTDI sur le serial monitor ?
Un module HC12 est-il branché ?
Les quatre adresses ne peuvent être choisies qu'avec un clavier OK. (via la Touche *)
Il semblerait que les adresses aient été déjà saisies une fois. Est-ce le cas ?
la Touche # sert à cycler dans les quatre adresses.
-
Allo, msport,
Je réponds à vos questions:
Le codeur rotatif a t il été testé via le serial monitor ?
Voici ce que j'obtiens:
<1><1><t1 0 1 1>
<1><t1 0 6 1>
<1><t1 0 7 1>
<1><t1 0 8 1>
<1><t1 0 11 1>
<1><t1 0 12 1>
<1><t1 0 13 1>
<1><t1 0 14 1>
<1><t1 0 15 1>
<1><t1 0 14 1>
<1><t1 0 10 1>
<1><t1 0 7 1>
<1><t1 0 6 1>
<1><t1 0 5 1>
<1><t1 0 3 1>
<1><t1 0 2 1>
<1><t1 0 1 1>
<1><t1 0 0 1>
L'alimentation vient du module FTDI ? Testé via batterie + step up ?
Je le fais des deux façons, avec les mêmes résultats.
Peut-on tester sans l'afficheur avec le module FTDI sur le serial monitor ?
Oui, je le fais et les mêmes résultats
Un module HC12 est-il branché ?
J'ai essayé les deux façons, même résultat
Les quatre adresses ne peuvent être choisies qu'avec un clavier OK. (via la Touche *)
Il semblerait que les adresses aient été déjà saisies une fois. Est-ce le cas ?
En effet, grand mystère. Je les ai probablement insérés avec le keyboard lorsque j'ai fait un test sur une planche à pain il y a quelque temps et cela a fonctionné.
Maintenant, j'ai effacé l'EEPROM et ils n'apparaissent plus.
Merci beaucoup, nous allons continuer à rechercher.
Juan.
-
Bonsoir Juan,
si le montage a fonctionné sur breadboard, on peut penser que la différence vient du circuit imprimé et/ou de ses soudures.
Je pense peu probable que Pro Mini ait eu un souci au cours de sa vie, mais ce n'est pas difficile de tester le montage avec un neuf.
Je viens de regarder le pcb que j’ai monté, c'est celui de la moitié de droite avec C6 C5 et C4. Il est très improbable qu'il soit différent de celui de gauche, qui plus est, avec un défaut. Cela reste une hypothèse.
Je ne vois comme proposition que de refaire le montage avec le circuit de droite après avoir regardé une nouvelle fois à la loupe les soudures en général et particulièrement celles des boutons du keypad. Les pistes sont très proches : 0,5 mm.
-
Salut msport
Je ne vois comme proposition que de refaire le montage avec le circuit de droite
C'est précisément ce que j'avais l'intention de faire. Et je vais le faire étape par étape. Dans un premier temps, je vais monter l'essentiel, c'est-à-dire : Pro mini, écran TFT, encodeur et un bouton poussoir.
En l'alimentant par USB, je pense que cela devrait suffire à le faire fonctionner, non ?
Juan.
-
D'après les schémas du module FTDI qu'on trouve sur internet, le +5V de l'USB est transmis directement à l'interface.
Donc on a potentiellement les 500mA de l'USB. Bien plus que nécessaire (50-100 mA)
A noter que pour les tests, on peut faire les contacts du clavier avec une pincette à bouts coudés.
-
Bonjour.
Ce que j'ai dit avant, je le comprends de moins en moins. J'ai fait un montage minimal de la manette : Pro Mini, écran TFT et encodeur (avec sa résistance de 10k). Rien de plus.
Mais le problème reste le même : l'encodeur fonctionne parfaitement, mais dès que je tape sur une touche (avec une pincette), il se réinitialise.
Une explication, s'il vous plaît, avant que ne me tue !
-
Avant d'en arriver aux solutions extrêmes, un essai avec un autre Pro Mini ? Et un retour à la bread board avec le même Pro Mini ?
-
Msport, il semble que nous ayons pensé la même chose. Mais malheureusement, il continue à se réinitialiser. Et je n'ai pas d'autres pro minis avec les mêmes caractéristiques.
Bien que la semaine prochaine, j'espère en recevoir quelques-uns. Mais je ne sais pas si je vais pouvoir tenir le coup !
-
J'ai fait un autre test sur le breadboard en utilisant un Uno. Résultat :
1.- le codeur fonctionne
2 - Je tape sur une touche et il ne fait rien : il ne se réinitialise pas mais il ne réagit pas non plus à la touche.
3.- l'encodeur ne fonctionne plus
QUE FAIRE D'AUTRE ?
Je pourrais essayer avec un Nano sur la planche à pain, mais franchement, je n'en ai plus envie.
-
J'ai oublié la photo avec le Uno.
-
ATTENTION, MESDAMES ET MESSIEURS :
Cela semble déjà fonctionner. Et sur le PCB complet, comme vous pouvez le voir sur la photo.
Et comment je l'ai réparé ? Très simple. Dans le sketch, ligne 106 int debug = 0 ; changer par int debug = 1 ;
Et tout est réparé. La raison ? Je n'en ai aucune idée.
Bon, maintenant je dois tester si le HC-12 fonctionne, mais ce sera pour un autre jour.
Msport et tous les autres, merci beaucoup de m'avoir supporté et de m'avoir aidé. Demain, je continuerai à vous ennuyer avec un autre sujet que j'ai en tête, mais demain.
Cordialement
Juan
-
On est très heureux ...
... si le HC-12 fonctionne ...
Il recopie ce qu'il y a sur le serial mais penser à le configurer à 115200 bauds. Il peut rendre le téléversement problématique.
... demain ... un autre sujet ...
encore plus difficile ?
-
...
Msport et tous les autres, merci beaucoup de m'avoir supporté et de m'avoir aidé. Demain, je continuerai à vous ennuyer avec un autre sujet que j'ai en tête, mais demain.
...
Comme l'a dit Michel, nous sommes heureux quand un problème finit par se résoudre. C'est la preuve que la ténacité finit toujours par payer, même si on passe par des phases où on a envie de tout envoyer balader ! ;)
A ta disposition sur un autre sujet...
-
Bonjour à tous
Eh bien, avant de passer à l'autre sujet, qui, je l'espère, ne sera pas trop compliqué, terminons par la manette, car j'ai quelques questions en suspens. A savoir :
1.- Pourquoi le problème a-t-il été résolu, dans mon cas, lorsque j'ai mis debug=1 ? Quelle en est la raison ? Est-ce que cela fonctionne pour vous avec debug=0 ?
2 - Je n'arrive pas à enregistrer l'adresse des locos. Je suis les instructions : *-adresse numéro-#, mais l'adresse ne change pas, elle est toujours 00.
L'affaire n'en finit pas ! >:(
Cordialement
Juan
-
Une curiosité : dans quel octet (ou autre) de l'EEPROM se trouvent les adresses des quatre locomotives ? Parce que je pouvais faire le test en les écrivant directement dans l'EEPROM.
-
-adresse numéro-#, mais l'adresse ne change pas, elle est toujours 00.
Les adresses sont sur quatre positions, il faut entrer quatre chiffres.
Dans l'article, il est dit : Confirmation avec #
-
Une curiosité : dans quel octet (ou autre) de l'EEPROM se trouvent les adresses des quatre locomotives ? Parce que je pouvais faire le test en les écrivant directement dans l'EEPROM.
Il faut faire à la main , ce que la fonction void saveAddresses() { fait :
EEPROM.write(xyz * 2 + 1, xxx);
}
EEPROM.write(20, maxLocos);
Elle écrit à partir de l'adresse 0, deux octets par locomotive, pour prendre en compte les adresse longues.
Je fonctionne avec debug=0.
debug=1 envoie des chaines de caractères supplémentaires sur le serial. Donc occupe le FTDI.
Il faudrait voir si une alimentation par batterie sans FTDI ne permet pas un fonctionnement normal avec debug=0.
-
Gracias msport
Je m'étais déjà souvenu des quatre chiffres de l'adresse.
Quant à debug = 0/1, je ne sais pas, j'ai essayé d'utiliser les deux types d'alimentation, avec FTDI ou avec la batterie uniquement. Dans les deux cas, je dois définir debug=1 pour les fonctions.
-
Une dernière question. ;D ;D ;D.. ... pour l'instant.
Sur mon réseau, il y a neuf aiguillages, leurs adresses commencent par 5 -> 2/0. Que dois-je modifier dans le croquis pour que l'aiguillage 1 reçoive l'adresse 2/0, et ainsi de suite ?
-
On peut essayer :
386. if (positionPoint < 10) {positionPoint = 10;}
-
Bonjour msport,
Non, ce n'est pas cette ligne. Ce qui doit être modifié se trouve dans void doDCCpoint () :
Serial.print ((( PointAddressDble / 2 - 1 ) / 4) + 1 ) ;
Dans mon cas, je le remplace par :
Serial.print ((( PointAddressDble / 2 - 1 ) / 4) + 2 ) ;
Et dans void doPointLCD () je change la ligne
tft.print((((PointAddressDble / 2 - 1) / 4) + 1, DEC ) ;
pour celui-ci
tft.print((((PointAddressDble / 2 - 1) / 4) + 2, DEC ) ;
De cette façon, l'aiguillage 1 a l'adresse 5 (2/0), comme vous pouvez le voir sur l'image.
Maintenant, je devrais faire quelque chose de similaire avec les accessoires, mais je m'embrouille, :'( donc une autre fois.
Je vous dirai aussi que j'ai testé toute la manette, y compris le HC-12, et que tout fonctionne bien :). Il ne me reste plus qu'à mettre la plaque dans la boîte, ce qui est déjà pas mal. Quand je l'aurai, je téléchargerai une photo.
Cordialement
Juan
-
Pardonnez-moi d'être aussi pénible :-[ , mais êtes-vous sûr que les fichiers PDF correspondant au Dessin du circuit imprimé à l'échelle 1 sont corrects ?
Je n'arrive pas à le voir clairement.
-
Oui, ils sont corrects : en tout cas, j'ai vérifié le pad_70_avant.pdf. Quel serait le problème ?
-
Le pad_70_avant.pdf est correct, je suis d'accord. Mais l'avant /2 ? Je ne comprends pas : ne devrait-il pas être l'image miroir de l'avant ? Je pense qu'il appartient à une autre version du PCB : le module HC-12 est en transversal, il n'est donc pas sur mes PCB.
-
Oui, il y a eu une version 7 avant la version 70.
Le but de ces pdf est de faciliter le perçage du boitier.
Pour l'implantation suivre la Figure 4.
-
Bonjour à tous,
J'ai reçu le matériel qui me manquait, maintenant les deux manettes sont terminées, et ce qui est plus important, elles fonctionnent !!!
Je voulais juste télécharger les photos, et profiter de l'occasion pour vous remercier de votre aide, essentielle pour mener à bien ce projet intéressant.
Cordialement,
Juan
-
Bonjour Juan,
très heureux de ces bonnes nouvelles.
Merci de ce retour d'information.
-
OK, mais maintenant que tout fonctionne, permettez-moi de faire une suggestion : la façon de choisir l'aiguillage avec l'encodeur n'est pas très pratique. Il serait beaucoup plus facile de choisir le numéro de référence de l'aiguillage avec les boutons poussoirs.
Mais modifier le code est bien au-delà de mes capacités.
-
Bonne année à vous tous.
Et je commence l'année avec un nouveau problème sur la manette : je ne peux pas changer l'adresse des locomotives : j'ai défini quatre locomotives, avec leurs adresses correspondantes, et tout fonctionne.
Mais maintenant je veux changer l'adresse de l'un d'entre eux et il n'y a aucun moyen. Je suis les instructions du manuel " C'est avec la touche * qu'on introduit l'adresse des quatre locomotives pour les stocker en EEPROM. Confirmation avec #", mais l'adresse ne change pas.
Aidez-moi, s'il vous plaît.
Merci beaucoup,
Juan
-
Bonne année à vous également.
C'est probablement un problème de bouton poussoir ou de soudure sèche. Faites contact avec une paire de brucelles pour test.
Quand vous utilisez le choix A, revenez vous à l'affichage principal avec cette touche *
Vous avez le même problème avec vos deux manettes ?
-
Bonsoir Michel,
Oui, j'ai le même problème avec les deux manettes, c'est exactement ce qui m'inquiète le plus.
Que voulez-vous dire par le choix A ?
-
Vérifié, il ne s'agit pas d'un problème de bouton poussoir ou d'une mauvaise soudure. Malheureusement.
-
Bonsoir Michel,
Oui, j'ai le même problème avec les deux manettes, c'est exactement ce qui m'inquiète le plus.
Que voulez-vous dire par le choix A ?
Voir la photo.
Mais c'est donc le programme, réinstallez le programme d'origine ...
-
Où puis-je trouver la dernière version ?
Ou le premier ?
-
A la fin de l'article :
https://www.locoduino.org/spip.php?article286
-
Merci Michel.
En effet, il doit s'agir d'un problème software, car les boutons poussoirs fonctionnent parfaitement. Cependant, ma question est la suivante : existe-t-il un moyen d'entrer les adresses sans utiliser les boutons-poussoirs (évidemment par software) ? Parce que les manettes contiennent quatre locomotives avec leurs adresses respectives, et j'ai dû entrer ces adresses moi-même, mais je ne me souviens plus comment j'ai fait.
-
Et les trois autres
-
Bonsoir Juan,
après avoir appuyé sur la touche "*", il s'affiche :
Adresse DCC ? 1 (ou 2 ou 3 ou 4, c'est le n° de la locomotive active choisie avec #)
On tape alors la nouvelle adresse en commençant par des 0 si besoin. Il faut compléter les quatre chiffres pour terminer.
Cette adresse est conservée en EEPROM.
-
Oh, que je suis bête, mille pardons, j'avais oublié que je devais entrer quatre chiffres pour l'adresse !
Je suis désolé, ma tête me joue des tours ! :-[ :-[ :-[
Meilleures salutations,