DRO Clavier matriciel pour Arduino

  • Auteur de la discussion gaston83
  • Date de début
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #16
tu te sert d'un clavier matriciel 20 touches ou tu crée ton propre clavier ?
c'est celui là dans le post #5

la fonction du codeur rotatif ? il te sert à basculer KEY_LEFT_CTRL et KEY_RIGHT_ARROW
non, j'ai mis un codeur rotatif pour simuler la manivelle . Et là, je bouge le X
IMG_20200325_152458[1].jpg


pour le proc tu utilise lequel 328P ou 32U4

J'utilise directement une Leonardo. Elle fait à la fois interface USB et programmateur. Dessus il y a un 32U4
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #17
Et là, je suis entrain de m'engadcer avec ça... impossible d'écrire ce foutu "-" ...:mad: il me met ')' à la place

case '7':
{
while (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
delay(50);
Keyboard.write ('-');
Keyboard.release ('-');
delay (1000);
}
}
{
Keyboard.press (231); // chiffre 7
Keyboard.release (231);
}
break;
 
totoche974
totoche974
Ouvrier
14 Mar 2015
383
st gilles les hauts
essayer en mettant son code ascii "Alt+ 045 " ou "- "
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #19
he bien, ça ne marche pas.... Par dépis, j'ai fait tout les codes .... je suis parti de 1 et je suis arrivé à 54 ... et ça marche. Je n'y comprends strictement rien car ce code ne correspond pas du tout au "-".. :7grat: :smt013 :hang:

case '7':
{
while (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
delay(50);
Keyboard.press(54); //signe "-"
delay(50);
Keyboard.release (54);
delay (1000);
}
}
{
Keyboard.press (231); // chiffre 7
Keyboard.release (231);
}
break;
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #20
... et c'est pareil pour le chiffre 7... pfffffff, tu fais ALT+231 et tu as la surprise du soir :shock:

et comme je veux pas en rester là, je pose la question à la communauté Arduino ... :lol:
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #21
... et c'est parti pour un autre tour.... je cherche le Z maintenant.... c'est extraordinaire !
 
totoche974
totoche974
Ouvrier
14 Mar 2015
383
st gilles les hauts
//TestSerialread.ino
void setup() {
Serial.begin(9600);
}
char codeRecu ;
void loop () {
if (Serial.available() > 0) {
codeRecu = Serial.read();
Serial.print ("J’ai tape: "); Serial.print (codeRecu);
Serial.print (" "); Serial.print (codeRecu,DEC);
Serial.print (" = 0x"); Serial.print (codeRecu,HEX);
Serial.println ();
}
}

resultat
J’ai tape: - 45 = 0x2D
J’ai tape: z 122 = 0x7A
J’ai tape: f 102 = 0x66

test ca à part pour trouver tes codes en hexa et decimal
pour ton " - " il est declarer ou dans ton programme

ya un cpu qui est bien pour cela c'est le teensy ++2
plus d'entrées + rapide
pour la gestion du clavier il serais plus judicieux d'utilise un SX1509
il gere les claviers matriciel, rebond et le scan
cela ferais moins de code à gérer
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #23
Bonjour,

Hé ben, non... ça ne fonctionne pas. Je me suis aperçu que non seulement le scan code n'est pas bon et qu'en plus il faut rajouter 136 pour avoir la correspondance. C'est pas tout... le code correspond au clavier Qwerty

Regardes le lien... à force de fouiller, j'au trouvé ça.


et les codes du vlavier qui eux sont bons. Attention c'est de l'hexa, donc il faut transformer la valeur en décimal puis rajouter 136.

code hexa.PNG
 
totoche974
totoche974
Ouvrier
14 Mar 2015
383
st gilles les hauts
salut
j'étais entrain de chercher un truc de se style il y a une conversion à faire

tu a été plus rapide :smt038 ca y est tu est sur la bonne voie

++
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #25
Bonjour à tous,

Bon, j'avance pas mal sur le code (en pièce jointe) et voilà ce que je pilote (pour l'instant) à partir de mon clavier déporté.. fichier txt que je montre dans le post #16, un peu plus haut.

Maintenant, je voudrais manipuler les axes X,Y et Z avec ma manivelle... que je sélectionnerais avec le sélecteur à droite sur la photo...

Je dois donc remplacer le (KEY_LEFT_ARROW) dans la partie tout en bas "initialisation codeur" par (KEY_UP_ARROW) pour l'axe Y et par les codes 211, 214 pour le Z.

Là, j'ai besoin de vos conseils....


IMG_20200329_141525[1].jpg
 
Fichiers joints
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #26
Bonjour à tous,

Bon, voilà.... j'ai presque pratiquement fini.... :chupachupz: :roxxx: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers: :drinkers:

me reste plus qu'a faire fonctionner l'augmentation et la diminution de l'avance avec F10 et F11....

mais, d'abord, pourquoi ça ne fonctionne pas directement au clavier en appuyant sur les touches ??


C'est bon.... il fallait que je me mette en Continu...
 
Dernière édition:
gaston83
gaston83
Compagnon
17 Fev 2016
1 446
FR-71520
  • Auteur de la discussion
  • #27
Maintenant, je m'attaque au Bluetooth.... :lol:
 
Haut