Erreur téléversement (arduino micro)

Bonjour a tous.

J'ai découvert Arduino il y a peu et ça m'a tout de suite plut donc un Starter Kit et en avant ! Aujourd'hui, en m'aidant des différents tutos que l'on trouve sur internet j'ai bricolé un TimeLaps à l'aide d'un servo moteur qui s'occupe d'appuyé sur le bouton de l'appareil. Un montage des plus simple et un code qui l'est tout autant :)

J'ai fait mes essais avec l'Arduino Uno du Starter Kit sans aucun soucis, ça fonctionne parfaitement. Afin de mettre tout ça en boite sans que ce soit une valise j'ai acheté un Arduino Micro.

Et c'est là que les problèmes commencent. Je travaille avec Xubuntu 14.04, Arduino IDE (1.6.7) télécharger sur le site officiel et installer avec le script fourni. Lorsque je téléverse le sketch, carte et port choisi "port: /dev/ttyACM0 (arduino/genuino micro)" j'ai le message d'erreur suivant quelque soit le port usb utilisé sur l'ordinateur:

Arduino : 1.6.7 (Linux), Carte : "Arduino/Genuino Micro"

Le croquis utilise 5 886 octets (20%) de l'espace de stockage de programmes. Le maximum est de 28 672 octets.
Les variables globales utilisent 193 octets (7%) de mémoire dynamique, ce qui laisse 2 367 octets pour les variables locales. Le maximum est de 2 560 octets.
avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy
avrdude: ser_send(): write error: Bad file descriptor
Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.

Si j'insiste j'ai un autre message comme celui-ci:

Le croquis utilise 5 886 octets (20%) de l'espace de stockage de programmes. Le maximum est de 28 672 octets.
Les variables globales utilisent 193 octets (7%) de mémoire dynamique, ce qui laisse 2 367 octets pour les variables locales. Le maximum est de 2 560 octets.
processing.app.debug.RunnerException
    at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:140)
    at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
    at processing.app.Sketch.upload(Sketch.java:1178)
    at processing.app.Sketch.exportApplet(Sketch.java:1152)
    at processing.app.Sketch.exportApplet(Sketch.java:1124)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2430)
    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:129)
    ... 6 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)
    ... 7 more

J'ai fait quelques recherches mais ne trouve pas de solution. Je fait donc appel a vous pour trouver la cause du problème, merci d'avance !

Après avoir passer pas mal de temps à chercher sur le net, essayé différentes procédures, y a rien a faire.

Je vois que je suis pas le seul à avoir le problème... https://forum.arduino.cc/index.php?topic=359817.0 et qu’apparemment personne n'a d'idée quant au problème.

Personnellement la seule solution, et j’espère qu'elle sera provisoire, et bien c'est de passer par Windaube :/

Pour ma part, Win7 et Arduine IDE 1.6.7 ça fonctionne impeccable. Et comme je suis allergique à ce système j’édite tout sous linux (Xubuntu) et je reboot Windaube pour l'upload :D

Ton user fait bien partie du groupe dialout?

Tenter la procédure de chargement manuel : - avant téléchargement vérifier le type de carte et le port COM affecté - vérifier le programme - appuyer et maintenir RESET ARDUINO - lancer le téléchargement et relacher RESET ARDUINO Cela pourrait résoudre votre problème

@TEGAC, ce n'est pas un problème de reset de l'arduino. avrdude n'arrive pas à ouvrir le port série.

avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy

C'est typiquement ce qui se produit lorsque le port série est utilisé par une autre application ou lorsque l'utilisateur ne fait pas partie du groupe dialout.

@TEGAC

Merci pour la procédure, le port est bien choisi avant le téléchargement, le sketch fonctionne parfaitement (test avec Arduino UNO) et j'ai aussi essayé la manip avec le reset qui n'a aucun effet. J'avais trouver ces idées en cherchant sur le net mais comme dit, sans succés.

@fdufnews

l'utilisateur fait bien parti du groupe dialout...

J'ai quand même fait pas mal de recherche avant de laisser un message sur le forum pour vous faire par des mes soucis :)