Il y a du vaudou dans les réponses ici parmi les bonnes idées. Essayons d'être un peu plus réel sur ce qui se passe et résumons les bonnes choses à vérifier:
En gros, lorsque cela se produit, c'est une bonne idée d'activer le mode verbeux pour AVRDUDE , pour avoir une meilleure idée de ce qui se passe. Pour ce faire, il vous suffit d'aller dans les préférences et de cocher la case du mode détaillé. C'est aussi une bonne idée de s'éloigner de l'IDE Arduino et de lancer une console pour être plus à l'aise dans la lecture de la sortie d'AVRDUDE, que vous obtiendrez en cliquant sur le upload
bouton.
Ce qui est important ici de mettre 3 ou 4 -v
à l'appel de commande. Voici à quoi ressemble de telles commandes AVRDUDE, avec des paramètres créés car ils dépendent totalement de la façon dont l'Arduino a été installé:
avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex
Un bon moyen d'obtenir la ligne de commande correcte à utiliser est de la copier à partir de la sortie détaillée du journal de sortie Arduino IDE lorsque la verbosité a été activée.
Lorsque vous obtenez avrdude: stk500_recv(): programmer is not responding
, cela signifie essentiellement que quelque chose de mal se produit, avant que le clignotement ne commence réellement.
En gros, vous devez vérifier (du matériel au logiciel, de bas niveau à haut niveau):
- si le câble et / ou les connecteurs n'ont pas de microcoupes;
- si aucun point de soudure n'est en court-circuit (c'est-à-dire en contact avec quelque chose de métallique), cela signifie:
- s'il n'y a pas de court-circuit sur le PCB entre
Rx
et Tx
(généralement les broches 1
et 0
);
- s'il n'y a aucun contact avec un élément métallique sous la carte, ou de minuscules morceaux entre les jambes d'un composant (comme le FTDI, la puce ATmega ou tout autre);
- si la puce ATmega n'est pas hors tension ( Raccourci GND / V CC ou coupure ou entrée V CC morte…);
- si les broches
1
et 0
de l'Arduino ne sont pas utilisées par un bouclier ou une conception personnalisée ( /!\
ne s'applique pas au Leonardo car il a une gestion USB indépendante);
- si le convertisseur USB vers UART n'a pas de problème (
FTDI
sur les anciens Duemilanove ou ATmega16U2 sur les nouveaux Arduino Unos);
- si la puce ATmega328 est frite ou mal installée;
- si le chargeur de démarrage a été écrasé ou échoue;
- si le bon débit en bauds est appliqué pour entrer dans le chargeur de démarrage;
- si les bons paramètres sont définis pour le microcontrôleur et la carte cibles;
Habituellement, cela avrdude -v -v -v -v
peut aider beaucoup à trouver à quel stade il échoue. Qu'il ne puisse pas du tout établir de connexion USB (panne de câble, USB / UART, PCB…), ou c'est un problème de bootloader.
Mise à jour : j'ai essayé de tourner l'ATmega embarqué et de l'installer dans l'autre sens. Maintenant, je ne rencontre aucun problème de téléchargement, mais rien ne se passe par la suite. La LED intégrée ne semble pas non plus clignoter.
J'ai peur que si vous inversez la position de l'ATmega, et que cela ne fonctionne pas, le fait que vous ayez placé la source d'alimentation sur des broches numériques ait brûlé votre puce.