Soudure de 2 cartes arduino pro mini

Bonjour ! J'ai débuté recemment arduino et j'essaie d'empiler deux cartes arduino l'une sur l'autre (j'ai simplement soudé les broches ensemble de façon à pouvoir faire les calculs (lecture de pwm etc...) sur l'une et l'affichage sur l'autre (voir photo). Certaines pin permettent de communiquer les informations d'une carte à l'autre, j'ai bien fait attention à les déclarer en INPUT sur l'une et OUTPUT sur l'autre à certaines autres ne servent que pour l'une des cartes mais cela ne doit pas poser problème (sauf erreur de ma part). J'ai essayé mes codes en reliant les cartes sans les souder au début et tout fonctionnait bien et maintenant que j'ai soudé pour rendre l'ensemble plus ergonomique et gagner de la place je ne peux plus flasher mes cartes, j'ai des messages d'erreur comme celui ci et jene comprend pas :

"
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x9b
avrdude: stk500_cmd(): programmer is out of sync
avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0x00

avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x10
avrdude: stk500_cmd(): protocol error
avr_read(): error reading address 0x0000
read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x0c
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x0c
"

Quelq'un aurait il une explication ? Merci d'avance

Bonjour

Relier les deux entrées s RX d'une part et les deux sorties TX d'autre part me parait compromettre le flashage avec l'activation concurrente des deux bootloaders. Flasher séparément chaque carte par sa paire Tx/Rx individuelle.

(mettre en parallèle les deux cartes nécessite il me semble un examen minutieux des conséquences, pin par pin !)

1 Like

coupez les broches qui relient 0 et 1 entre elles.

1 Like

Merci de vos réponses ! Vous voulez dire que je dois couper les broches TX1 et RX0 pour qu'elles ne soient plus reliées ?
Qu'est ce qu'un bootloader ?
Pouvez vous m'expliquer pourquoi il ne faut pas les relier ? Ou est ce que c'est juste comme ça ?

Oui, parce qu'elles sont utilisées pour télécharger le code.

C'est le logiciel qui est lancé au démarrage de l'Arduino. Il teste s'il y a un PC qui essaie d'établir un dialogue. Si c'est le cas, il entame le dialogue pour télécharger un nouveau programme. Si ce n'est pas le cas, il lance le programme qui réside en flash.

1 Like

Bonjour, tant qu'à (bien) faire, couper aussi la broche RST

et je ne suis pas sûr qu'il y a un intérêt à avoir les 5V et 3.3V connectés non plus

euh d'accord mais si on coupe celle ci comment les cartes seront-elles alimentées ?

A quoi sert cette broche ? Pourrais-tu m'expliquer pourquoi ?

Il y en a 3, je suppose qu'il faut conserver celle qui sert à flasher les cartes, Tu conseilles de couper les deux autres ?

je pensais que vous branchiez un câble USB sur chaque carte

Il faut faire un schéma électrique, même à la main papier stylo et règle et photo nette.

Avec tout ce qui est raccordé sur chaque carte.
En ce moment, on élucubre avec tout dans la tête, difficile de tout prendre en compte et de ne rien oublier.

tout à fait. Quid du SPI ou I2C par exemple

Dès le début, cela m'a paru être une fausse bonne idée.
Source de bien plus d'inconvénients (cachés au premier abord) que d'avantages visibles.

Qui ne tente rien n'a rien, donc pourquoi pas.

Mais il faut de la méthode et bien définir ses besoins.
Cet assemblage ne peut pas être universel.

typiquement à faire le reset du microcontrôleur
elle est utilisée par le téléverseur (prendre un téléverseur dédié à l'arduino pro mini) qui l'active afin que le nano se mette en mode bootloader : si on met les 2 dispositifs en // ça risque de ne pas fonctionner

1 Like

c'est du pro mini, c'est très basique
le Vcc doit rester connecté pour alimenter le 2ème pro mini depuis le téléverseur
le RAW doit rester connecté pour alimenter le 2ème pro mini depuis une alim quelconque

1 Like

bonne question, on peut laisser les i2c en //, mais pour les spi il faut savoir ce qu'on veut faire, au moins couper les mosi et miso si on veut s'en servir

Et les pins à seconde fonction comme l'I2C ou le SPI ?
Pas question d'avoir deux maîtres simultanément sur le bus.
Un Ax en digital relié à un Ax en analogique cela fait quoi ?

Il faut bien savoir ce qu'il y a autour de ces deux mini-pro et ce que les programmes doivent faire.
Ce n'est pas parce que cela a pu tomber en marche en phase de test que le montage est validé.

Pour moi c'est tableau trois colonnes, colonne 1 les pins, colonne 2 configuration Mini-pro 1, colonne 3 configuration mini-pro2.
Et toujours le tableau sous le coude pendant le développement et surtout pendant les modifications du code, par exemple pour ajouter des fonctions auX programmeS

C'est bien gentil de vouloir souder deux minipro entre elles, mais je n'en vois pas trop l'utilité. Si le programme est trop gros pour tenir dans une seule minipro, en mettre deux en rajoutant le dialogue entre les deux, ne va pas simplifier l'ensemble.

Si celui qui a écrit le programme est un programmateur averti qui a économisé l'octet, on peut se dire que c'est une bonne solution. Mais dans le cas contraire, il y a de fortes chance que c'est plus simple de modifier le code pour qu'il tienne dans une seule minipro.
Disons que j'ai des doutes sur l'impossibilité de réduire la taille du code quand je lis" J'ai débuté recemment arduino".

1 Like

si j'ai bien compris, il veut faire communiquer les 2 cartes entre elles, donc pour l'i2c c'est les mêmes broches, pour le tx et rx c'est à éviter, et pour le spi on peut garder le sck et le ss, mais il faut inverser miso et mosi

C’est bien ce qu’on explique il faut du cas par cas en fonction de l’usage …
Je ne suis pas non plus persuadé qu’il faille un arduino dédié à l’affichage…