Introduction
Dans ce cours nous allons essayer de résoudre votre problème de téléversement sur votre carte arduino. Nous allons traiter une partie des cas les plus probables et leurs résolutions, en partant du plus simple au plus complexe.

Attention !!
Ce cours traitera seulement des problèmes avec la carte Arduino, c’est-à-dire des problèmes de téléversement. Il se peut que cela soit votre programme qui n’est pas correcte et que donc cela vous entraîne des erreurs lors du téléversement. Pour savoir si c’est votre carte ou votre code qui pose problème, vous devez cliquer sur le bouton vérifier, ou bien compiler afin que le logiciel vérifie votre code. Si celui ne reconnait pas d’erreur, alors c’est surement un problème de téléversement, et c’est ce que nous traitons dans cet article.
Si vous c’est un problème de compilation, cela peut venir des librairies utilisées, ou bien du code en lui-même, nous traitons de ce sujet : ici.
Dans ce cours, les solutions aux problèmes sont proposées du plus simple au plus compliqué. A la fin du cours vous aurez une solution pour le bootloader qui pose beaucoup soucis sur les cartes Arduino. Le bootloader est un petit programme dans la carte arduino uno qui permet de démarrer le système d’exploitation contenu dans celle-ci.
Carte Arduino reconnue, mais problème lors du téléversement
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is “C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf”
Using Port : COM3
An error occurred while uploading the sketch
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can’t open device “\\.\COM3”: The system cannot find the file specified.
avrdude done. Thank you.
Ce problème peut venir de plusieurs choses :

Première solution : Oublie de brancher la carte Arduino
Une erreur que l’on peut tous faire est tout simplement d’oublier de brancher la carte arduino par mégarde, n’oublier donc pas de la brancher pour pouvoir la téléverser sur votre carte arduino.



Deuxième solution : Oublie du choix du port


Après avoir branché votre carte arduino, n’oubliez pas de choisir le port correspondant à votre carte, sinon le logiciel Arduino ne pourra pas téléverser votre programme.
Port Grisé : Carte non reconnue dans Arduino Ide
Si votre port est grisé c’est que votre carte n’est pas reconnue par le logiciel Arduino IDE. Pour cela il faut aller voir si la carte arduino est reconnu dans les périphériques de l’ordinateur. Vous allez maintenant dans périphérique de l’ordinateur et voir si votre carte arduino apparaît. Pour cela vous devez aller dans panneau de configuration, puis périphérique, puis périphérique et imprimante.
Vous devriez arriver là-dessus :


Si dans Non spécifié vous n’avez pas la carte arduino affiché comme nous, alors vous devez passer au sous problème 1 sinon allez directement au sous problème 2.
Si votre carte apparait, vous pouvez directement passer au cas b.
Sous Problème 1 : Carte arduino ne s’affiche pas dans le gestionnnaire
- Un problème qui peut arriver c’est que votre câble entre la carte arduino et l’ordinateur ne fonctionne pas bien. Si vous avez d’autre câble, essayez avec un autre pour voir si cela règle votre souci.
- Il n’existe pas de copie illégale de carte arduino, néanmoins certaine copie chinoise ne sont pas bien reconnue par l’ordinateur car il possède un usb différent de celle original. Notamment les cartes Elegoo peuvent avoir ce problème. Ces cartes possèdent un usb Ch340G et l’on doit installer un driver pour que cela fonctionne. Pour cela vous devez télécharger un driver usb chinois.
Une fois le logiciel installé, vous pourrez retrouver votre carte arduino dans le logiciel Arduino IDE.
Sous Problème 2 : Carte arduino s’affiche dans le gestionnaire


Comme on peut voir sur l’image, la carte arduino s’affiche dans le gestionnaire mais aucun port COM lui est spécifié.
Le problème ici c’est que nous n’avons pas le bon pilote pour la carte Arduino. On doit donc installer manuellement le bon pilote :


Comme on peut voir ici dans l’encadré, nous avons la carte arduino uno qui apparaît. On peut donc faire un clic droit et mise à jour du pilote.


On fait rechercher sur son ordinateur puis on suit les étapes proposées :




On choisit dans la liste de pilote disponible dans l’ordinateur, ou bien si vous en avez téléchargé un sur votre ordinateur vous pouvez l’ajouter ici.


On choisit le modèle carte arduino uno si c’est le modèle de votre carte.
Si cela ne fonctionne pas et que le port est toujours grisé, il y a peut-être un problème avec un bootloader de votre carte arduino uno. Vous pouvez alle voir la solution sur le problème de bootloader à la fin du cours.
avrdude : butterfly_recv() : programmer is not responding
Il se peut que en regardant l’erreur de téléversement, vous obteniez une erreur de ce type avec à la fin avrdude: butterfly_recv(): programmer is not responding :
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is “C:\Program Files (x86)\Arduino IDE for Microduino\hardware\tools\avr/etc/avrdude.conf”
Using Port : COM5
Using Programmer : avr109
Overriding Baud Rate : 57600
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———– —- —– —– —- —— —— —- —— —– —– ———
eeprom 65 20 4 0 no 1024 4 0 9000 9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : butterfly
Description : Atmel AppNote AVR109 Boot Loader
Connecting to programmer: .
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: sorry no info avail
avrdude: butterfly_recv(): programmer is not responding
Il existe plein de source différente à ce problème, c’est pour cela que j’ai découper ceci en sous problème. N’hésitez à regarder tous les sous problèmes afin de voir celui qui vous pose soucis.
Sous problème 1 : Mauvais Choix du type de carte
Si vous obtenez cette erreur c’est que vous avez mal choisit le type de carte que vous avez branché. En effet, par défaut le logiciel sélectionne une carte arduino uno mais si vous avez un autre type de carte alors il va falloir lui indiquer ici :


Si toute fois vous ne trouveriez pas votre carte ou bien que cela ne fonctionne toujours pas, vous avez le board manager qui vous permet d’installer une nouvelle version de la carte, notamment si votre logiciel arduino est ancien :


Le board manager vous permet aussi de télécharger un pilote si vous avez une carte qui n’est pas répertorier par le logiciel Arduino IDE.
Sous Problème 2 : Problème Reset carte Arduino
Si vous obtenez cette erreur alors vous pouvez appuyer sur le bouton reset de la carte Arduino juste après avoir cliqué sur le bouton téléversement.
Sous Problème 3 : Bootloader d’ancienne génération
Dans les anciennes version d’arduino ide, vous pouvez changer le type de processeur, dans outils puis carte, vous pouvez changer par ATmega328P(old bootloader).
Enfin si tout ceci ne fonctionne pas, vous devez régler les problèmes avec le bootloader.
Solution Générale : Problème avec le Bootloader
Une erreur qui arrive fréquemment, c’est le bootloader de la carte qui est corrompu sur votre carte arduino.
Pour cela vous aurez besoin d’une carte arduino uno qui est bien reconnue par l’ordinateur. On va en effet téléverser le bootloader de la carte qui fonctionne vers la carte qui ne fonctionne pas.
Voici la liste de composant dont vous avez besoin :
- Une carte Arduino qui fonctionne et celle non fonctionnel
- Un condensateur de 10 ⴏf
- 6 fils
Première étape : connecter votre carte arduino fonctionnel à l’ordinateur et téléverser dessus le programme Arduino ISP que l’on peut retrouver Fichier puis Exemple Et Arduino ISP :


Deuxième étape : Vous pouvez débrancher votre carte arduino et faire le montage suivant avec l’ancienne carte arduino :
Avec la carte de gauche la carte fonctionnelle et la carte de droite celle non fonctionnel.


Troisième étape : Branchez votre carte arduino uno fonctionnel à votre ordinateur. Ouvrez le programme Blink. Dans le type de carte vous devez mettre la carte que vous voulez refaire vivre.


Voici le programme Blink :


Pour cette étape vous n’aurez pas à téléverser le programme avec le bouton téléversement. Vous devez plutôt choisir le mode Arduino ISP dans Programmeur :


Enfin toujours dans outils vous devez choisir Graver la séquence d’initialisation :


FAQ
Quelle est la diffénce entre problème de téléversment et problème de compilation ?
Une erreur de téléverment est un problème lors de la transmission de votre programme sur la carte alors qu'un problème de compilation est une erreur dans votre programme
Comment savoir si j'ai un problème de compilation ou de téléversement ?
Sur Arduino Ide,si vous cliquez sur le bouton compilation et que vous avez des lignes en rouge dans la console c'est un problème de compilation. Si ceci apparait seulement en cliquant sur le bouton téléverser alros c'est un problème entre le programme et la carte Arduino.
Ma carte arduino est reconnue mais je n'arrive pas à téléverser, que faire ?
Sur Arduino Ide, vous devez vérifier que votre carte à bien été sélectionné et que vous avez choisit le bon port