Arduino Leonardo : led "RX" et "TX" qui ne s'allument pas.

Bien le bonsoir, voilà j'ai un soucis, j'ai commandé un arduino leonardo il y a quelques jours, je l'ai reçu jusque là tout vas bien.

Maintenant quand je le plug à mon pc, l'arduino n'est pas vraiment reconnu, c'est pas écrit dans le gestionnaire de périphérique " Arduino Leonardo ". Donc à partir de là j'installe le driver manuellement.
Le driver s'installe correctement ... Ensuite j'upload mon .ino. Je lance mon programme et là les lumière ne s'allument pas quand je clique .. C'est comme ci mon arduino ne reconnaissait pas ma souris... et du coup mon programme est non fonctionnel... J'aimerais de l'aide si c'est possible, si vous avez une idée. Merci bien

WiFEED

Salut

Nous prenons comme hypothèse de départ : la Léonardo est bien affichée dans le gestionnaire de périphérique.
Si ce n'est pas le cas, inutile d'aller plus loin.
Dans Outils / Type de carte il faut choisir Arduino Leonardo
Dans Outils / Port il faut choisir le port correspondant à celui de la carte (celui qui est affiché dans le gestionnaire de périphérique)

@+

Bonsoir Hbachetti, oui effectivement il est reconnu dans le gestionnaire de périphérique maintenant (depuis l'installation manuel du driver) je te remercie pour ta réponse, j'ai déjà fais ce que vous me demandez... avez vous une autre solution à mon problème ?

Y a t'il des messages d'erreur ?

WiFEED:
Bien le bonsoir, voilà j'ai un soucis, j'ai commandé un arduino leonardo il y a quelques jours, je l'ai reçu jusque là tout vas bien.

Maintenant quand je le plug à mon pc, l'arduino n'est pas vraiment reconnu, c'est pas écrit dans le gestionnaire de périphérique " Arduino Leonardo ". Donc à partir de là j'installe le driver manuellement.
Le driver s'installe correctement ... Ensuite j'upload mon .ino. Je lance mon programme et là les lumière ne s'allument pas quand je clique .. C'est comme ci mon arduino ne reconnaissait pas ma souris... et du coup mon programme est non fonctionnel... J'aimerais de l'aide si c'est possible, si vous avez une idée. Merci bien

WiFEED

Bonsoir

  • donc l'upload resultant du .ino , c'est bien déroulé ?
  • "ta" souris non reconnue ensuite elle est connectée où ? , sur ton PC ou sur ton leonardo ? :grin:

Poste ton .ino (entre balises code)

Bonjour WiFEEd

WiFEED:
Ensuite j'upload mon .ino.

Je traduis que vous cliquez sur "Téléversez" ?
La compilation s'effectue? Complétement?

Je lance mon programme

Qu'entendez vous par là?

Cordialement,
bidouilleelec

Je lance mon programme et là les lumière ne s'allument pas

Je pensais que tu avais des problème de téléversement.
A problème mal exposé, réponse à côté de la plaque ...

@+

Bonjour Wifffed

Avez vous quelque chose connecté sur les pins 0 et/ou 1 de la carte?

Cordialement,
bidouilleelec

Bonjour à tous, merci pour toutes vos réponses.

Donc je vous explique j'ai juste un câble usb "universel" connecté de mon arduino à mon pc.

Ma souris elle est connecté à mon pc aussi.

Le téléversement, l'upload se fait, juste ça me fais un "beep" puis encore le même "beep" comme si il y avait une déconnexion de périphérique. Si une personne est disponible pour TeamViewer ou quoi que ce soit pour mieux comprendre mon problème il y aucun soucis !

@Bidouilleelec je n'ai rien de connecté sur les pins 0 et/ou 1 de la carte. Merci pour ta réponse.

Mon amis a l'arduino leonardo est tout fonctionne sans problème avec le même programme etc... C'est pour ça j'ai du mal à comprendre d'ou vient le problème, juste quand je clique normalement donc sur mouse1(clique gauche) de ma souris, les led RX et TX devraient s'allumer.

Pour information j'ai cette erreur qui ne pose aucun problème à mon amis :

W:\Bureau\sketch\sketch.ino:4:13: warning: invalid conversion from 'const char*' to 'char' [-fpermissive]

char Temp = "";

            ^

WiFEED:
juste quand je clique normalement donc sur mouse1(clique gauche) de ma souris, les led RX et TX devraient s'allumer.

1/Mais clic quand et pour quoi faire ?
2a/Avez vous essayé avec un des exemples simples fournis avec l'IDE?
2b/ dans ce cas la compilation et le chargement se passent-elles normalement?
3/Votre programme est censé faire quoi?
4/Et si on voyait votre code?

Cordialement,
bidouilleelec

@Bidouilleelec C'est pour tirer dans un jeu. Oui le Blink fonctionne comme il faut. Oui la compilation et le chargement se passent normalement, mon programme je préfère en parler en privée si c'est possible

WiFEED:
@Bidouilleelec C'est pour tirer dans un jeu. Oui le Blink fonctionne comme il faut. Oui la compilation et le chargement se passent normalement, mon programme je préfère en parler en privée si c'est possible

Je ne vois pas de raison d'en parler en privé

Moi j'ai quelques raisons... donc je vous ai envoyé par MP le code en question.

WiFEED:
Moi j'ai quelques raisons... donc je vous ai envoyé par MP le code en question.

Votre programme (sans les fautes) a déjà été (récemment) diffusé sur ce forum.

Votre programme (sans les fautes) a déjà été (récemment) diffusé sur ce forum.

:smiley:

.......publié sans doute par un intervenant qui avait compris comment fonctionne ce forum (les cachotteries ne sont pas productives)

Le code est l'un des éléments à fournir, c'est indiqué dans les Règles d'utilisation du forum (a lire avant de commencer à poster)

Bonjour, désolé je fais de mon mieux, je vais jamais sur des forum normalement. Sans les fautes? Il y a des fautes de programmation?

Sans les fautes? Il y a des fautes de programmation?

"Faut voir".......
.... on joue à cache-cache..... tu brûles !

Le code en question est celui-ci :

#include <Mouse.h>

String Command = "";
char Temp = "";

void setup() {
  Serial.begin(9600);
}

void loop()
{
  Command = "";
  while (Serial.available()) {
    Temp = Serial.read();
    Command.concat(Temp);
  }
  if (Command != "") {
    if (Command == "Click") {
      Mouse.click();
    }
    int first = Command.indexOf(",");
    int second = Command.indexOf(",", first + 1);
    int xpos = Command.substring(0, first).toInt();
    int ypos = Command.substring(first + 1, second).toInt();
    int finalxpos = 0;
    int finalypos = 0;
    if (xpos > 80 || xpos < -80)
    {
      bool xpositive = false;
      if (xpos > 0)
      {
        xpositive = true;
      }
      else
      {
        xpositive = false;
      }
      if (xpositive) // positive value of xpos
      {
        finalxpos = xpos - 80;
        Mouse.move(80, 0);
      } else {
        finalxpos = xpos + 80;
        Mouse.move(-80, 0);
      }

    }
    else
    {
      finalxpos = xpos;
    }
    if (ypos > 80 || ypos < -80)
    {
      bool ypositive = false;
      if (ypos > 0)
      {
        ypositive = true;
      }
      else
      {
        ypositive = false;
      }
      if (ypositive)
      {
        finalypos = ypos - 80;
        Mouse.move(0, 80);
      }
      else
      {
        finalypos = ypos + 80;
        Mouse.move(0, -80);
      }
    }
    else
    {
      finalypos = ypos;
    }
    Mouse.move(finalxpos, finalypos);
  }

  Command = "";
  while (Serial.available()) {
    Temp = Serial.read();
    Command.concat(Temp);
  }
  if (Command != "") {
    if (Command == "Click") {
      Mouse.click();
    }
    int first = Command.indexOf(",");
    int second = Command.indexOf(",", first + 1);
    int xpos = Command.substring(0, first).toInt();
    int ypos = Command.substring(first + 1, second).toInt();
    int finalxpos = 0;
    int finalypos = 0;
    if (xpos > 80 || xpos < -80)
    {
      bool xpositive = false;
      if (xpos > 0)
      {
        xpositive = true;
      }
      else
      {
        xpositive = false;
      }
      if (xpositive) // positive value of xpos
      {
        finalxpos = xpos - 80;
        Mouse.move(80, 0);
      } else {
        finalxpos = xpos + 80;
        Mouse.move(-80, 0);
      }

    }
    else
    {
      finalxpos = xpos;
    }
    if (ypos > 80 || ypos < -80)
    {
      bool ypositive = false;
      if (ypos > 0)
      {
        ypositive = true;
      }
      else
      {
        ypositive = false;
      }
      if (ypositive)
      {
        finalypos = ypos - 80;
        Mouse.move(0, 80);
      }
      else
      {
        finalypos = ypos + 80;
        Mouse.move(0, -80);
      }
    }
    else
    {
      finalypos = ypos;
    }
    Mouse.move(finalxpos, finalypos);
  }
}

j'ai un peu perdu de vue Leonardo...mais j'ai la désagréable impression que ton code est un mélange de deux comportements différents (et incompatibles entre eux) de Leonardo en USB

-le comportement en port série ( toutes les commandes serial.quelquechose)
-le comportement souris USB (mouse .h et toutes les commandes mouse.quelquechose)

Voir un #include mouse.h sans Mouse.begin ...... mais avec un Serial.begin situe l'erreur de méthode.

Il faut faire (et bien faire) l'un ou l'autre, port série virtuel ou souris, pas mixer les 2

Si ton intention est d'utiliser Leonardo en souris USB, étudies mieux l'exemple ButtonMouseControl fourni avec l'IDE Arduino... comprends chaque ligne avant de le modifier.....

Pourquoi alors avoir repris (en le perturbant un peu) l'exemple qui justement sert à illustrer le fonctionnement d'une carte Leonardo qui joue le rôle d'une souris USB , d'une carte Leonardo qui "devient une souris" ?

Quand tu écris Mouse.clic dans ton code c'est pour que le PC réagisse à un 'clic' de la "souris Leonardo'.
Quand tu écris Mouse.move( x,y ) dans ton programme c'est pour que Leonardo déplace le pointeur sur l'écran du PC.

Peut être pensais tu que les commandes mouse.qqchose dans le code permettaient à Leonardo d'être informé des actions sur la vraie souris, reliée au PC ?

Que cherches tu a faire ?

Mon amis a l'arduino leonardo est tout fonctionne sans problème avec le même programme etc..

Etrange......