Bonjour,
je viens vers vous car je suis un peu surpris de ma dernière acquisition, la leonardo... Je pensais m'en servir comme support d'initiation à la "programmation", mais rien ne fonctionne correctement. J'ai simplement voulu uploader un des exemples "keyboard", et déjà il m'a fallu pas mal de temps pour comprendre le principe du "hard reset". J'ai réussi de manière hasardeuse a charger un programme, mais il m'a fallu retenter plusieurs fois l’expérience. A l'origine sur ubuntu, je suis parvenu a charger le programme d'exemple sur win10, mais c'était vraiment chaotique. Quelqu'un aurait il une astuce ? Parce que dans l'état je peux zapper le coté ludique de la chose ...
Et bien, le problème et que charger un programme sur cette carte ne fonctionne pas (ou une fois sur 10) chez moi. J'ai testé sur deux ubuntu différents, sur deux pc différents avec différentes version d'arduino. Sous windows cela a fonctionné mais encore une fois je trouve la technique très archaïque. Sous ubuntu lorsque je parviens enfin a synchroniser le reset avec le téléversement, j'ai des erreurs du type "Expected signature for ATmega32U4 is 1E 95 87". De plus le programme keyboard, n'a aucun effet sur mon pc linux.. Je n'ai pas de problèmes de permission, j'ai bien un "ttyACMO" qui apparaît quelques secondes, et je n'ai aucun problème avec d'autres cartes, (mega, uno, esplora). Mais j'aimerais savoir si quelqu'un arrivait a coup sure a faire fonctionner cette carte sur Ubuntu? Il y a peut être une info que je ne connais pas?
Cette carte n'est pas connue pour poser des problèmes de programmation.
Par contre elle partage la même interface USB/UART que la UNO et le Mega.
Et justement cette interface USB/UART à base d'atmega16U2 pose des gros problèmes de programmation.
Je ne peux que surenchérir sur ce que t'a dit pepe : tu te plains mais tu ne donne aucun détail.
Impossible de t'aider.
Met l'IDE en mode bavard dans les "préférences" et donne les erreurs qui apparaissent à l'écran.
Si c'est quelque chose comme "avrdude not in sync" c'est le 16U2 qu'il faudra tenter de reprogrammer.
Les cartes "exotiques" utiliisent maintenant un autre principe avec le CH340 (équivalent du ftdi) qui ne pose aucun problème si ce n'est d'avoir un pilote à installer (sous windows uniquement, Ubuntu c'est ok d'office).
Et bien je ne sais pas quoi dire d'autre, je branche la carte, je démarre arduino, et charge un programme d'exemple. Je sélectionne la carte leornardo. Un reset pour faire apparaître le port série, puis téléversement. A partir de là, il ne ce passe plus rien, ou parfois j'ai un message du type "mauvais micro-controleur trouvé".
Un dmesg après avoir branché la carte m'indique:
[ 2611.292561] usb 3-4: USB disconnect, device number 25
[ 2611.293126] xhci_hcd 0000:00:14.0: WARN Event TRB for slot 24 ep 6 with no TDs queued?
[ 2915.593348] usb 3-4: new full-speed USB device number 26 using xhci_hcd
[ 2915.723100] usb 3-4: New USB device found, idVendor=2a03, idProduct=0036
[ 2915.723107] usb 3-4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 2915.723110] usb 3-4: Product: Arduino Leonardo
[ 2915.723113] usb 3-4: Manufacturer: Arduino srl
[ 2915.723476] usb 3-4: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 2915.723990] cdc_acm 3-4:1.0: ttyACM0: USB ACM device
[ 2923.411360] usb 3-4: USB disconnect, device number 26
Il s'agit d'une leonardo officielle. Je suis Ubuntu 16.04, j'ai réinstallé arduino depuis le dépôt officiel.
ps: je ne plains pas, pas déjâ ^^
Alors j'ai bien testé plusieurs câbles, et il n'y a rien de branché sur la carte. Coté perturbations, bien difficile à dire, mais je n'ai jamais eu de problèmes ici. Je viens de réinstaller arduino depuis la source (version 1.80). Cette fois, le processus est moins aléatoire (détection du port plus rapide) et j'ai un message différent:
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:160)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.SketchController.upload(SketchController.java:709)
at processing.app.SketchController.exportApplet(SketchController.java:682)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2190)
at java.lang.Thread.run(Thread.java:745)
Caused by: processing.app.SerialException: Erreur de la commande « touch » sur le port série « /dev/ttyACM0 ».
at processing.app.Serial.touchForCDCReset(Serial.java:87)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:144)
... 5 more
Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.touchForCDCReset(Serial.java:81)
... 6 more
C'est bon j'ai trouvé. Le problème vient de ModemManager, j'ai hésité a le virer puisque je n'ai jamais eu de problème jusqu'ici, mais je me suis lancer et ça fonctionne. Merci a tous pour vôtres réactivités!
Il y a juste un circuit ATmega32U4 directement branché sur l'USB.
Ben c'est bien vrai ça !
Grossière erreur de ma part je retire tout ce que j'ai dit sur le 16U2.
Le problème vient de ModemManager,
Il est exclu de la distribution Debian et c'est une raison de plus d'utiliser l'original plutôt que la copie(Ubuntu).