Téléverser lorsque le PIN D0 est branchée

Bonjour,

J'utilise pour mon projet la PIN D0 (Rx) de mon Arduino, pour décoder un signal MIDI.

J'aimerai finaliser ce projet et tout mettre dans une jolie boite, en ne laissant ressortir que la prise USB du Nano pour permettre éventuellement de mettre à jour le code.

Mais voila, le téléversement ne fonctionne pas tant que mon optocoupleur est connecté au nano voici le montage :

La flèche bleue va vers le PIN D0 de l'Arduino...

Donc en gros, la résistance de tirage du transistor (R2) fait aussi office de résistance de pull-up, du coup je pense que ça colle la PIN de mon Arduino à HIGH... comment téléverser quand-même ?

Bonjour,

un interrupteur à l'endroit de la flèche bleue ferait très bien l'affaire. Soit un interrupteur à deux position : "normale" et "programmation", ou bien encore un bouton de type momentané normalement fermé, et qu'il faudrait maintenir enfoncé le temps de la programmation. Suivant la façon dont tu auras accès à l'intérieur de ta boîte, tu peux aussi envisager d'y placer un jumper, à retirer lorsque tu veux reprogrammer le micro.

J’avais pas pensé au bouton… c’est pas mal.

Je m’attendais à une solution magique genre une résistance ici et HOP le problème est réglé mais je crois que je que je suis un grand rêveur. XD

Bonjour un petit relais avec un contact NF (fermé au repos), ce contact en série à la flèche bleue, le relais relié d'un côté au + 12 v de l'autre à la broche 3 de la prise din, la ,broche 1 au 0 V, lorsque l'on veut programmer, on met une fiche dont les broches 1 et 3 sont reliées ensembles. A+

De quelle prise DIN parles-tu ? j'ai l'impression qu'un bouton poussoir c'est plus simple.

J'ai finalement monté un bouton poussoir (normaly closed / contact travail) et surprise, sur un Nano le fonctionnement est différent du fonctionnement du UNO, lorsque le nano est alimenté par le VIN, il n'est plus reconnu correctement par le PC en USB, en revanche, on peut téléverser avec l'opto-coupleur monté.

Moralité, je dois revoir ma façon de procéder car je prototype toujours sur un UNO avant de monter mes projets en nano.

bonjour je parle de la prise midi in j1 sur le schéma; tu te fabrique une une fiche avec 1 et 3 en court circuit et rien d'autre; quand tu veux programmer tu enlève la fiche midi et tu met celle avec le strap tu programme puis tune fois fait tu l'enlève et tu remet la fiche midi. A+

HAaaaaa... en fait je ne souhaite justement pas débrancher ce câble MIDI lorsque je téléverse ;)

Solution simple (si tu peux) : au lieu de brancher au +5V de la carte, utilise une sortie digitale mise à l'état haut lors du setup()

Hey, ça sent la super-bonne idée ça !!

Si j'ai bien compris : Le +5V actuellement connnecté au collecteur de mon transistor (Opto), viendrait d'une PIN que je met à HIGH (je doit vérifier la conso avant).

J'en déduis que :

  • L'IDE de l'Arduino saura faire un RESET de l'Arduino même sur la pin D0 est "occupée"
  • Mettre une PIN à LOW ne correspond pas à la mettre au 0V (GND) mais bien à la déconnecter de tout circuit

Tu confirmes ?

Je modérerais juste le dernier point : si je ne me trompe pas le pin sera effectivement au GND mais en haute impedance (INPUT) donc ne devrait pas tirer suffisamment de courant pour que ça gêne la prog.

Ca fonctionne ! :)

Merci