quelqu'un a-t-il la teensy ou 3.6, si ce code televersé bug ?

Bonjour,

prolétaires de électronique bon marché.

Je suis au bord de la catatonie.

J’ai passé une journée à téléverser ce code dans une teensy 3.5.

C’est pour fabriquer un clavier émulé. La teensy produit un signal mais c’est une suite de a alors que cela devrait être ctrl + A et sans arrêt.

Enfin la teensy compile mais le résulta n’est pas un clavier.

Aussi je me tourne ver la teensy 3.6 et je me demandais si quelqu’un ayant ce modèle pourrait compiler ce code avec la teensy 3.6 avant que j’en achète une :

/*
 * Arduino Keyboard Emulation
 * learnelectronics
 * 13 FEB 2017
 * 
 * www.youtube.com/c/learnelectronics
 */

#include <Keyboard.h>    // This is a "built-in" library no need to install

//---------------------------------------------------------
//                           Setup
//---------------------------------------------------------



void setup() {
pinMode(3,INPUT_PULLUP);  // sets pin 3 to input & pulls it high w/ internal resistor
pinMode(4,INPUT_PULLUP);  // sets pin 4 to input & pulls it high w/ internal resistor
pinMode(5,INPUT_PULLUP);  // sets pin 5 to input & pulls it high w/ internal resistor

Serial.begin(9600);       // begin serial comms for debugging

}

//---------------------------------------------------------
//                           Loop
//---------------------------------------------------------

void loop() {
  
  
 Keyboard.begin();         //begin keyboard 
 if (digitalRead(3) == 0)  // if buton 3 is pushed
  {
    Keyboard.write('A');  // send single character "A"
    delay(200);           // delay so you don't get 20 A's
  }
  else if (digitalRead(4) == 0){  // if button 4 is pressed
    Keyboard.print("The rain in Spain falls mainly on the plain"); // send string
    delay(200);
}
  else if (digitalRead(5) == 0){  //if button 5 is pressed
    Keyboard.write(0xB0);         // send Hex value for RETURN key
    delay(200);
  }
  Keyboard.end();                 //stops keybord
}

Et me dire ce qui se passe ? Afin de savoir si je vais en acheter une autre ou pas ?

Cordialement,

Sinon quel serait le modèle type ATMEGA32u avec 50 voir 100 broches (D1, D2, D3, …) dans la catégorie clone ?

Merci,

Intelego.

Je ne sais pas si cela existe des Arduino type Léonardo ATMEGA32u4 avec 50 à 100 broches ?

quel est son nom ?
Intelego.

Uilisez Vous Teensyduino configuré correctement ? Avez vous vérifié la compatibilité de l’IDE ?

Regardez la doc de l’ATMEGA32u4, y voyez vous 100 pins?

Expliquez ce que vous cherchez à faire et on pourra éventuellement recommander des extenseurs de ports E/S comme les MCP23S17 ou MCP23017 ou MAX7219/MAX7221

Et bien je voudrais fabriquer un clavier avec deux cents à trois cent boutons.
Du genre un boutons : "cercle'.
Un autre boutons écrirait : "carré".
Un autre boutons écrirait : "大江山 いく野の道の 遠ければ まだふみも見ず 天の橋立"

Juste en appuyant une fois sur chaque.

Tout simplement.

Merci,

Intelego.

Bonjour

le "prolétaire de l’électonique bon marché’ Intelego aura rapidement des problèmes de trésorerie s’il achète une nouvelle carte dès qu’il a un soucis avec un code …

Le code testé n’est pas prévu pour émettre émettre CTRL-A !!! (il ne comporte pas de ligne de code pour gérer la touche CTRL)

Testé sur une carte Teensy 3.1 il fait ce qu’on lui demande de faire sous réserve que des boutons (reliés à la masse soient reliés aux entrées 3 , 4 et 5

Il ajoute un clavier USB à l’ordinateur, envoie A tant que le BP 3 est actionné, la chaîne de caractères tant que BP4 est actionné…etc
clavierUSB.jpg

-L’utilisation de Keyboard USB dans Teensyduino est décrite sur cette page

-Teensyduino vient d’être mis à jour et la version 1.45 est compatible avec l’IDE Arduino 1.8.8

Enfin la teensy compile mais le résulta n’est pas un clavier.

-Pourqu’une carte Teensy se comporte comme un clavier il faut compiler avec l’option Keyboard
keyboard.jpg

-le clavier japonais ne figure pas dans la listes des claviers que Teensyduino émule

Un petit 32U4 sera suffisant pour scanner en permanence des extensions de port ou simplement vous réveiller sur interruption suivant les composants retenus

Vous pouvez par exemple metttre 8 MCP23017 ensembles pour avoir 128 pins ou des MCP23S17 (avec la libraire MCP23S17 de Majenko par exemple si vous voulez vous simplifier la vie)

Générer de l’UTF16 devra être adapté à votre OS cible - faudra toujours simuler un appui et relâchement sur une ou plusieurs touches.

PS: C’est quoi cette histoire de chemin ? Vous êtes au Japon?

Merci al1fch et J-M-L,

Bon conseil mais suivi la procédure comme le commande le code civil du système arduino je dirais et cela ne fonctionne pas. Dans le sens ou la machine répète tel un autiste une suite de lettre toujours la même.
C'est pour cela qu'avant d'acheter un matériel qui fonctionne, je me mets à poser des questions.

En attendant je suis obligé de la mettre en "blind " pour pour la séparer de mon système informatique.

Quand au MPC c'est trop barbare.

Et c'est un poème japonais

Arigato gozaimaisu.

Comment sont câblés les 3 boutons correspondant au code testé ? Photo du montage ?

. Dans le sens ou la machine répète tel un autiste une suite de lettre toujours la même.

C'est ce que lui demande de faire le code testé (lettre A) si la carte Teensyduino estime que le bouton 3 est actionné

 Keyboard.begin();         //begin keyboard 
 if (digitalRead(3) == 0)  // if buton 3 is pushed
  {
    Keyboard.write('A');  // send single character "A"
    delay(200);           // delay so you don't get 20 A's
  }

code exécuté dans loop()

C'est vrai c'est mieux avec le schéma complet, comme cela normalement on a pas de surprises :

Voici le descriptif : ci-joint.

Merci.

avec la video je n'arrive pas à comprendre le câblages des 3 boutons sur la Teensyduino
une video montre plein de détails inutiles mais ne fait pas ressortir l'essentiel comme le fait un schéma.
(j'évite en général de regarder les videos pour cette raison !)

je ne peut pas dire avec certitude par exemple qu'un bouton est raccordé à la broche 3 , que l'autre extrémité va à la masse et que le contact est ouvert en cas d'inaction sur le bouton et fermé en cas d'action.

Re salut,

Voila le Document.

1- Le négatif en forme de vaguelette. Relié au fil bleu en dernière instance.
J'ai innové sans savoir si c’était judicieux. J'ai mis une seule résistance de 22K en bout de course du négatif au lieux d'une résistance de 20K pour chaque boutons.
Comme il a plusieurs tuto de clavier USB différant selon la demande tel : si plus de boutons ou moins, si avec résistance ou pas (je la court-circuite si je veux la retirer.).

2- Le positif relié au bornes 32, 31, 30, 29, 28.

A part cela rien de spéciale, j'ai passé tout le dispositif au microscope et il n'y aucun cours circuit causée par une soudure trop chargée.

Je sais pas si vous avez essayé de compiler avec une teensy 3.5 ce schéma. Je ne sais pas si vous n'avez pas ce "a" qui s'affiche sans pourvoir l’arrêter. Mais je serais curieux de savoir ce qu'il en est réellement.

Merci

Bonsoir

Plus à l’aise avec les schémas qu’avec les vidéos, photos …et le vocabulaire imagé…je n’avance pas dans la compréhension du montage réalisé…

pinMode(3,INPUT_PULLUP);  // sets pin 3 to input & pulls it high w/ internal resistor
pinMode(4,INPUT_PULLUP);  // sets pin 4 to input & pulls it high w/ internal resistor
pinMode(5,INPUT_PULLUP);  // sets pin 5 to input & pulls it high w/ internal resistor

Le code présenté dans le message initial de ce fil commence par initialiser les Pins 3,4 et 5 en entrées avec pull-up interne, ceci en vue du câblage de 3 boutons comme indiqué dans le schéma ci-dessous :
BP_Teensy.jpg
Si le bouton BP3 est actionné le montage, vu par le PC comme un clavier, envoie la lettre A , noter que cette lettre est émise de manière répétitive tant que la borne 3 est mise à la masse par le bouton BP3.

Deux remarques :

-Aucun rapport entre ce code et les 5 bornes 32, 31, 30, 29 et 28 citées ci -dessus !!

-D’autre part vos images montrent un probable clavier matriciel raccordé au Teesnsy or rien dans le code présenté n’est prévu pour gérer ce genre de clavier , il se contente de gérer 3 boutons individuels reliés aux pins 3, 4 et 5

Je crains une confusion enter plusieurs montages, plusieurs codes, peut être une confusion entre ‘Tennsy gérant un clavier matriciel’ et ‘Teensy vu par le PC comme un clavier USB’
Les Teensy , avec les bons codes et les bonnes librairies savent faire ces deux choses totalement différentes.

Je relus 3 fois ton post #10, j'ai regardé le "document".
Désolé mais je comprends rien.
Vaguelettes???
J'ai mis une seule résistance de 22K en bout de course du négatif ??
Tu utilises un vocabulaire abscons, tu fournis des photos où on ne voit rien.
Fais un dessin de ton câblage ou donne un lien vers le site qui a inspiré le montage.
Là on tourne en rond.

Oui bien sûr je peux faire plus claire.

Bon pour les bornes, je les changes sur le code. Si le code dit D3, je change et écrit D32 pour adapter le code à mon schéma. Ce n'est pas évident mais je le précise ici.

Le schéma est beaucoup plus simple et je le post ici aussi :

ICI

Merci.

Super on avance. Et maintenant on pourrait avoir le code qui correspond à ce montage?

Et voici le code :

/*
 * Arduino Keyboard Emulation
 * learnelectronics
 * 13 FEB 2017
 * 
 * www.youtube.com/c/learnelectronics
 */

#include <Keyboard.h>    // This is a "built-in" library no need to install

//---------------------------------------------------------
//                           Setup
//---------------------------------------------------------



void setup() {
pinMode(31,INPUT_PULLUP);  // sets pin 31 to input & pulls it high w/ internal resistor
pinMode(30,INPUT_PULLUP);  // sets pin 30 to input & pulls it high w/ internal resistor
pinMode(29,INPUT_PULLUP);  // sets pin 29 to input & pulls it high w/ internal resistor

Serial.begin(9600);       // begin serial comms for debugging

}

//---------------------------------------------------------
//                           Loop
//---------------------------------------------------------

void loop() {
  
  
 Keyboard.begin();         //begin keyboard 
 if (digitalRead(31) == 0)  // if buton 3 is pushed
  {
    Keyboard.write('A');  // send single character "A"
    delay(200);           // delay so you don't get 20 A's
  }
  else if (digitalRead(30) == 0){  // if button 4 is pressed
    Keyboard.print("The rain in Spain falls mainly on the plain"); // send string
    delay(200);
}
  else if (digitalRead() == 29){  //if button 5 is pressed
    Keyboard.write(0xB0);         // send Hex value for RETURN key
    delay(200);
  }
  Keyboard.end();                 //stops keybord
}

Merci.

Les boutons poussoirs sont-ils bien oriéntés ?
Quand ils ont 4 broches comme il semble que ce soit le cas içi elles sont, en général reliées 2 à 2 dans le bouton.... un quart de tour en trop et c'est le contact permannent qu'il y ait appui ou pas

Non, les boutons ne sont pas orientés.

tel

Merci.

Ces boutons sont ‘à orienter’ pour ne pas être piégé par les ‘courts-circuits’ internes.
Sauf exceptions ces boutons ont une orientation particulière à rexpecter si on veut éviter un contact permanent
sur le modèle ci-dessous par exemple il y a une liaison permanente interne entre a et c d’une part , et entre b et d d’autre part. Un appui sur le BP crée un un contact momentané entre (ac, partie mobile) et (bd, partie fixe) (voir ci dessous ‘Circuit Diagram’)
4pins.jpg
Notice technique
Siu l’orientation n’a pas été respectée au câblage on aurait , avec le contact interne permanent au BP une réponse éventuelle à la question : pourquoi la lettre A est envoyée en permance ?

Dans ce cas le courant passe entre a et b ou c et d.

c'est exacte.

merci.