[RESOLU]Ajouter un port USB pour clavier

Merci pour ta réponse, mais ton code ne peut pas marcher : il faut garder sendKeyStroke() (sinon ça ne compile pas ]:))
J'aimerais juste savoir si

  void press(byte keyStroke) {
    while (!usbInterruptIsReady()) {
      // Note: We wait until we can send keystroke
      //       so we know the previous keystroke was
      //       sent.
    }
      
    memset(reportBuffer, 0, sizeof(reportBuffer));

    reportBuffer[0] = 0;
    reportBuffer[1] = keyStroke;
        
    usbSetInterrupt(reportBuffer, sizeof(reportBuffer));
  }

et

  void release(byte keyStroke) {
    while (!usbInterruptIsReady()) {
      // Note: We wait until we can send keystroke
      //       so we know the previous keystroke was
      //       sent.
    }
      
    // This stops endlessly repeating keystrokes:
    memset(reportBuffer, 0, sizeof(reportBuffer));      
    usbSetInterrupt(reportBuffer, sizeof(reportBuffer));
  }

marcheront (en tout cas, ça compile).

Sinon,

  void send(byte keyStroke) {
    sendKeyStroke(keyStroke);
  }

est juste un raccourcis. (Quel flemmard je suis ! :stuck_out_tongue_closed_eyes:)

Merci encore, mon proto shield devrait arriver aujourd'hui, j'irai acheter les composants demain !

numero_744:
Merci pour ta réponse, mais ton code ne peut pas marcher : il faut garder sendKeyStroke() (sinon ça ne compile pas ]:))

Moi je part du principe que je suit l'API leonardo et que par conséquent j'oublie l'ancienne api de usbKeyboard :wink:

numero_744:
J'aimerais juste voir si

  void press(byte keyStroke) {

while (!usbInterruptIsReady()) {
      // Note: We wait until we can send keystroke
      //       so we know the previous keystroke was
      //       sent.
    }
     
    memset(reportBuffer, 0, sizeof(reportBuffer));

reportBuffer[0] = 0;
    reportBuffer[1] = keyStroke;
       
    usbSetInterrupt(reportBuffer, sizeof(reportBuffer));
  }



et


void release(byte keyStroke) {
    while (!usbInterruptIsReady()) {
      // Note: We wait until we can send keystroke
      //       so we know the previous keystroke was
      //       sent.
    }
     
    // This stops endlessly repeating keystrokes:
    memset(reportBuffer, 0, sizeof(reportBuffer));     
    usbSetInterrupt(reportBuffer, sizeof(reportBuffer));
  }



marcheront (en tout cas, ça compile).

Ça marchera mais autant faire une seule fonction qui prend une touche + modificateur en argument et qui est appelé par les autres fonctions.
Copier coller du code n'est jamais une bonne solution.

Salut, j'ai reçu mon proto shield et je ne sais pas comment souder ma prise USB, manque de trous...
Merci !

numero_744:
Salut, j'ai reçu mon proto shield et je ne sais pas comment souder ma prise USB, manque de trous...

Comment ça ?

Y'a pas de trous ! J'les mets où le broches de la prise ?
Cf image jointe à ce post.

Image 1.png

numero_744:
Y'a pas de trous ! J'les mets où le broches de la prise ?
Cf image jointe à ce post.

C'est l'emplacement pour un composant CMS !
Si tu veut souder ton port usb c'est de l'autre côté dans la zone avec des pastilles qu'il faut travailler :wink:

Oups ! :astonished: :fearful:
:sweat_smile: Cette partie (pièce jointe) ?
Comment placer la prise pour que d+ et d-; 5V et GND ne soient pas reliés ?

Image 2.png

. . ./_ _ /. . ./
. ./
. _ ./. .//_ ./. . / /./. _ ./ _ // _ . . ./. . . . _/. . . . /
. . ./
_ _/. . ./

C'est ton clavier USB maison qui fait du morse ? :grin:

De quel type est l'embase USB à souder ? A ou B ? Connecteurs USB - Go tronic
Si c'est une embase B il faut couper deux pistes de la carte proto pour obtenir 4 pastilles 'en carré' , sans liaison entre elles.
Si c'est une embase A il ne doit pas y avoir de problème (4 broches en ligne au pas de 2,54 mm)

Ouaaaaa, un protocole de communication révolutionnaire de chez M. Igloo.

C'est une USB de type B (pour avoir un seul câble pour les deux prises), avec les broches qui forment un carré, où couper les pistes ? Côté d+/d- ou 5V/GND ? Lequel aura droit à deux broches ? Lequel ne l'aura pas ? C'est par 3 broches, pas 2 ou 4, 3 ! Grr ! ]:smiley:
Brancher le 5V(USB) sur Vin ou 5V ? Si on peut sur 5V, puis-je couper ces deux pistes et poser la prise à l'endroit où c'est coupé ?
Couper = gratter ?

Un clavier qui écrit en morse, pourquoi pas ?
Ajouter la librairie sMorse depuis ce post, modifier les dot(), les dash() et dans le switch modifier le case ' ' et supprimer le case '.' pour qu'au lieu de faire clignoter une LED, il écrive comme un clavier, mais en morse.
(Plus qu'à trouver un clavier matriciel azerty 37 touches (26 lettres + 10 chiffres + 1 espace)).

Euh... S'iouplé, j'attends les instructions pour tout souder, là...
Si quelqu'un pourrait me répondre, ça me ferait vachement avancer.

numero_744:
Euh... S'iouplé, j'attends les instructions pour tout souder, là...
Si quelqu'un pourrait me répondre, ça me ferait vachement avancer.

Je vois pas pourquoi tu te casse la tête ...
Les prises USB-B ont 4 broches aux pas standard 2.54mm

Au milieu de ta protoshield tu as deux lignes GND / 5V.
Rien ne t'empêche de couper (avec un cutter, proprement) ces deux pistes pour avoir 4 petites pistes indépendantes.
Après tu peut câbler tes 4 broches de l'usb facilement avec les deux petites pistes devant et derrière le connecteur.
(voir mon mini schéma en pièce jointe)

protoboard.png

Merci, je pensais la mettre perpendiculaire (90° dans le sens des aiguilles d'une montre) à ce que tu me propose.
Donc, je pourrais ne pas couper le GND, mais puis-je laisser 5V USB connecté à 5V Arduino ou dois-je impérativement le brancher à Vin (la première solution me ferait une piste recto-verso de moins à couper...).
Merci !

numero_744:
Merci, je pensais la mettre perpendiculaire (90° dans le sens des aiguilles d'une montre) à ce que tu me propose.

Pourquoi pas ... moi je pensait que tu voulais avoir les deux ports usb dans le même sens mais ça pose pas de problème de le mettre à 90°.

numero_744:
Donc, je pourrais ne pas couper le GND, mais puis-je laisser 5V USB connecté à 5V Arduino ou dois-je impérativement le brancher à Vin (la première solution me ferait une piste recto-verso de moins à couper...).

Vusb -> 5v arduino, surtout pas à VIN !
Vin c'est la tension au niveau de la prise jack, donc avant le régulateur 5v.
Si tu relie Vusb et Vin ça ne marchera pas et le jour ou tu utiliseras une pile 9v ou un adaptateur secteur tout ton montage + ce qui est branché sur l'usb va cramer.

OK, merci.
Je souderais tout ça c't'aprèm si j'en ai le temps (c'est plutôt mal partit !).
J'essaierai de vous montrer ce que ça donne après.

J'ai commencé : je gratte, je gratte, mais ça coupe pas... Je continue de gratter ou pas ?
As-tu déjà essayé ?

numero_744:
J'ai commencé : je gratte, je gratte, mais ça coupe pas... Je continue de gratter ou pas ?

-> Cutter, si tu grattes tu va y passer des heures :wink:
Il suffit de faire deux petites coupures espacé d'un mm environ puis de faire sauter le morceau de piste entre avec la lame du cutter.

Il faut couper toute l'épaisseur du shield ? :astonished:
J'y retourne avec ta méthode, je reviens dans quelques minutes ! 8)

numero_744:
Il faut couper toute l'épaisseur du shield ? :astonished:
J'y retourne avec ta méthode, je reviens dans quelques minutes ! 8)

Mais non ! Juste l'épaisseur de la piste de cuivre ...
Imagine le bordel si il fallait couper au travers de la shield pour faire le moindre petit montage :grin: