De l’ère manuelle à l’ère automatique.

Bonjour,

Voici un le microcontrôleur d’un clavier azerty.

Contrôleur de clavier azerty

J'ai remarqué que si je connecte manuellement deux broches de connections ou trois, j'obtiends une lettre qui s’affiche à l’écran.

Et en fait je voudrais vraiment savoir quel composant électronique fait, à ma place, ces connexions automatiquement selon un script prés-écrit ?

Est-il possible de savoir quel le nom de ce composant qui pourrait automatiser ces connections ?

Merci

Intelego.

Un arduino leonardo (connectivité USB)?

En très grossier :
Le clavier ne connaît pas ce qui écrit sur les touches.
Le clavier ne connais que la position des touches et identifie celle qui est appuyée.
Le clavier envoie un code normalisé à l'utilisateur (le PC).
C'est dans le PC que ce fait la conversion code vers caractère alpha numériques.

La liaison clavier PC se fait par une liaison série ATTENTION TECNIQUEMENT liaison série veut dire que les bits sont envoyés les uns à la suite des autre sur le même fil, je ne parle pas de ce qui généralement et improprement appelé liaison série,Rs232,uart qui est une liaison série particulière (l'I2C et le SPI sont aussi des liaisons série).

Pour revenir au sujet il faut connaître le protocole de la liaison clavier.

Édit
Je viens de voir que tu as posé la même question dans deux posts : ne recommence pas ou tu te fera remonter les bretelles , le cross-listing est interdit dans tous les forums.

C’est plus simple que cela : j’ai un microcontrôleur de clavier.
Au lieu d’appuyer sur des touches, je connecte directement les bornes (précédemment reliées aux touches) avec des fils. Ces contactes produisent des lettres sur l’écran.
Et donc ceci étant établi, je voudrais que les connections ne soient plus faitent manuellent mais faitent par un composant électronique.

Les bornes du microcontrôleur seraient reliés à un composant et ce composant mettrais en contacte les bornes du contrôleur.

Une sorte de multiplexeur mais je ne crois pas que ce soit cela.

Or je ne connais le nom de ce composant. Cette fonction d’interrupteur pour une matrice entière comme celle du microcontroleur.

Merci

Intelego.

Bonjour

A ma connaissance il n'existe pas de composant unique permettant d'établir à la demande la fermeture d'un des contacts d'une grande matrice entière (sorte de grande matrice d'interrupteurs analogiques)

Cela peut être fait contact par contact avec des relais ou des interrupteurs analogiques

Autre piste : ne plus raisonner en contacts à établir , mais repartir du principe de balayage mis en oeuvre par le CI qui , dans le clavier effectue le balayage de la matrice XY

Il est sans doute programmé avec X sorties et Y entrées avec pull up (ou le contraire)
Les X sorties sont brièvement mises à zéro l'une après l'autre (genre chenillard)
Si une des entrées est à zéro c'est qu'un contract a été établi à une intersection

Un microcontrolleur pourrait suivre de près l'état des sorties X du clavier et mettre au bon moment l'une des entrées Y du clavier à zéro pour simuler un contact

Le probleme se ramène donc a à la mise à zéro d'une sortie Arduino.... pile au bon moment

Un analyseur logique ou à défaut un oscilloscope permettrait de repérer les X sorties clavier et leur chronologie

J'avais rien compris !

La référence du circuit intégré est-elle lisible ?
Avec sa datasheet on peut espérer comprendre son fonctionnement.

Cet autre message d'Integelo , hier, m'avais 'mis sur la voie'....
(d'ou l'utilité de ne pas se disperser sur des messages multiples... et éviter les 'up' déguisés !!)

https://forum.arduino.cc/index.php?topic=634271.0

Il me semble avoir vu un microcontrolleur nRF51822 (Arm avec Bluetooth BLE) sur un clavier Bluetooth Logitech
clavier.png
Doute que Logitech fournisse le code source
Par contre chez Nordic Semiconductor il ya des applications types pour ces microcontrolleurs, peut être un exemple de clavier BT ?

logibt.png

clavier.png

Je n'ai encore rien compris a ce que veut faire Intelego mais un clavier n'est ni azerty ni qwerty ni Bépo, il est clavier.

Si on appui sur la touche A d'un clavier dit "azerty" on obtiendra le même code que si on appui sur le Q d'un clavier dit "qwerty".
Le décodage est fait par l'ordinateur. Le choix du clavier se fait lors de l'installation du système d'exploitation avec le chargement du fichier ad-hoc.

La disposition Bépo est d'office dans Linux il suffit de l'activer et d'acheter des autocollants pour modifier les inscriptions sur les touches.

il me semble qu'Intelego veut conserver l'électronique de son clavier Logitech BT et agir sur les E/S de sa matrice pour simuler des appuis sur des touches, remplacer les touches et leurs contacts par un dispositif automatisé.

Vu le grand nombre de contacts dans la matrice je lui suggère de prendre les choses autrement , ne pas chercher à remplacer le touches par des relais, interrpteurs analogiques.....mais scruter et se caler sur le balayage présent en agir en conséquence sur les entrées de la puce en place qui fait le balayage.

Nous sommes d'accord qu'en simulant l'activation d'uneintersection ligne/colonne il enverra au systeme d'exploitation un 'code touche' qui sera ensuite converti, par celui-ci, en un symbole.

En fait c’est incroyable le peu de clarté qu’ont mes messages mais je vais être plus spécifique :

Quelqu’un comme moi qui ne connaît rien en programmation ni en électronique mais qui connaît arduino se dit qu’il peut réaliser ses idées si et seulement si

Il a :

1-un bon tutoriel avec script :

Un tutoriel

2-du matériel qu’il peut se procurer pas trop cher :

Contrôleur de clavier azerty

max7219 et LED

Max7219

Là le project, c’est de fabriquer une télécommande qui lorsqu’on appuie sur un bouton, à l’écran un mot entier s’affiche (ou une phrase)

Pour y réussir il faut que quand j’appuie sur un bouton il y ait un script qui dise au composant mystère (multiplexeur ?) de relier une séquences de bonnes broches du clavier (Logitec) et cela dans le bon ordre.

Donc j’ai pensé à ce qu’il y avait de plus près de moi dans ma boîte Elegoo : J’ai nommé le fameux Max7218 !
C’est bien 64 interrupteurs pour une matrice de 64 LED ?

Si comme sur l’une de ses photos ci-dessus je replace les connections avec la matrice LED par la matrice du clavier Logitec, je pourrais à partir du script du tutoriel, ci-dessus cité, activer une à une des combinaisons de des broches de la matrice clavier et ainsi afficher à l’ecra des combinaisons de lettres.

Mais est-ce possible ?

Est-ce que ce dispositif précédent décrit ne va pas envoyer du courant dans la matrice clavier en plus de connecter les broches et cramer le microcontrôleur clavier ?

Auquel cas quel composant aurait la même fonction mais sans cramer mon microcontrôleur ?

En fait quel serait le nom de ce composant électronique exacte ?

Merci,

Intelego.

"Là le project, c'est de fabriquer une télécommande qui lorsqu'on appuie sur un bouton,à l'écran un mot entier
s'affiche (ou une phrase)"
L'écran de quoi (un PC, un RPi, une bête dédiée)?

Un arduino recepteur de télécommande peut:

s'il a un écran (il y en a une foultitude) afficher ce qu'on veut, conditionnellement à la télécommande.

si votre PC/RPi est muni d'un emulateur de terminal (ou du duo python+pyserial) , l'arduino peut envoyer un mot/une phrase dans ledit emulateur de termminal via sa jonction serie.

Pas besoin d'intervenir sur un équipement qui marche....

L’ecran ? Effectivement un pc.

Et le logiciel serait soit Photoshop, soit fusion 360 ou Autocad ?

Mais indépendamment de ce qui existe, merci mais le montage tel que je le décrit, fonctionne t-il ou ce montage que je décrit va t-il cramer le microcontrôleur clavier Logitec ?

C’est spécifiquement ce que j’aurais besoin de savoir. Peut-être qu’il existe d’autres solutions.

Merci,

Intelego.

Intelego:
L’ecran ? Effectivement un pc.

Et le logiciel serait soit Photoshop, soit fusion 360 ou Autocad ?

Mais indépendamment de ce qui existe, merci mais le montage tel que je le décrit, fonctionne t-il ou ce montage que je décrit va t-il cramer le microcontrôleur clavier Logitec ?

C’est spécifiquement ce que j’aurais besoin de savoir. Peut-être qu’il existe d’autres solutions.

Merci,

Intelego.

Bonjour Intelego
En fait tu cherche à te fabriquer un clavier "dédié" avec tes propres "touches" aux raccourcis/macros reconnus/accéptés par tel "tel ou tel logiciel" ?
photoshop ou autre
Si partir d'un clavier (matrice physique) de recup USB existant est une solution possible , je pense qu'il faut etre pragmatique
AMHA le plus simple est de partir sur de la base "arduino" USB keybaord compatible
genre arduino leonardo (ou autre basé sur du 32U4)
voir même sur du genre digispark (basé sur VUSB)
C'est ce j'utilise par exemple avec un ou deux boutons dédiés ( par exemple printscreen et shutdown)

Un leonardo réglerait la connectivité USB et peut emuler un clavier Keyboard - Arduino Reference
Comme le lien suscité l'indique, ces fonctions sont documentées (et c'est certainement plus simple que de faire des paris sur une boîte electronique et sur ses talents de dessoudeur/soudeur electronique)

Keyboard Message

When the button is pressed in this example, a text string is sent to the computer as keyboard input.

Merci, je sais qu’il existe une infinité de solutions. Mais la configuration est 200 boutons et donc je ne sais combien de Leonardo U3204 il me faudrait.

Je veux juste savoir si le montage que je vous est présenté ci-dessus cramera ou cramera pas.

En RÉSUMÉ je garde le Max7219, je retire la matrice LED et les remplace par la matrice clavier ci-dessus photographié

Ce montage cramera ou ne cramera pas selon vous électronicien ?

C’est tout ce que je voudrais savoir.
Est-il possible d’avoir votre avis sur cette partie uniquement ?

Parce que si non, si cela ne cramera pas alors j’ai le clavier 4x4 (c’est un début mais il faudra étendre à 200), j’ai les arduino-multiplexeur déjà connecté avec le schéma et le script qui fonctionne et que je n’ai plus qu’a modifier.

Merci

Intelego,

Relier un Max7219 a la carte du clavier Logitech ?? Rien de bon ne peut en sortir .
Le Max7219 est conçu pour envoyer du courant dans des leds disposées en matrice, il ne se comporte pas comme une 'matrice de contacts'

D'autre part une Leonardo unique est capable de remplacer un clavier Usb complet

@all1fch:
+1
a) L'absence de capacité de commutation du 7219 se répète avec le 7218, qui traîne dans la boîte à outils du posteur original... (si un tournevis traîne dans ma boîte à outils, dois je m'en servir pour enfoncer des clous?)
b) Présenter comme "bon " tutorial un tutoriel où la lecture d'un clavier est bloquante dans certains cas (je n'aurais pas trop de mal à en trouver un qui n'est pas bloquant, grâce à google et aux tutoriaux de ce site) me laisse rêveur.

D'un autre côté, il serait interessant de voir ce que donneront tous ces ingredients, une fois assemblés (j'ai vu une revendication du genre : "je ne connais rien à l'electronique, ni à la programmation, mais je connais arduino") .... si on s'entête à ne pas chercher de solution rationnelle ....

Une « matrice de contacte » ?

Mais qu’est-ce que c’est ???

On en trouve dans le commerce ?

Quel ce composant qui ne fait que mettre en contacte ? Cela existe t-il sur le marché ?

Quelle marque ???

Quel magasin ???

Sous quel nom ???

Pour votre idée d’émulation Leonardo 32u04 c’est bien sauf que ce n’est ni Bluetooth ni possible pour 200 boutons.

Peut-être que mon idée est bonne si je protège le microcontrôleur avec des résistances ?

Ou bien alors serait-il possible de savoir quel est le nom de ce composant qui ne fait que des contactes sur une matrice sans injecter du courant ?

Les résistances ? c’est peut-être tout simplement cela la solution.

Merci,

Intelego.

Si vous soudez 200 resistances (de valeur inconnue... qui se tapera le calcul?; parce que ces bestioles là varient d'un facteur 1E8 : 0.1R à 10 MR) , avec une probabilité de mauvaise soudure non négligeable, vous défiabilisez complètement votre montage.
Avez vous une photo d'un clavier à 200 touches? (un brave clavier du commerce en a moins de 80, nécessitant pour un multiplexage bête 18 fils).
A noter que les commutateurs analogiques type cd4051(tiens, à quelle question est ce que je réponds) supportent au maximum 16 connexions: il vous en faudra au bas mot 10, avec tout plein de fils, tout plein de mauvaises soudures....
Une approche rationnelle, avant de ramasser ce qui traîne dans sa boîte à outils (manifestement sans lire la datsheet: le 7218 a les mêmes défauts -ne sait que connecter au plus 5volts et zero- que le 7219, signalé par all1fch- ) et de demander l'adresse d'un fournisseur, consisterait à commencer par dire ce qu'on veut faire (envoyer, sur reception d'une télécommande
*IR ???
*radio????, des séquences d'ordres à photoshop....??? que se passe-t-il si un autre logiciel type traitement de texte est activé???) si on a vraiment un clavier 200 touches...

Ey si selon vous je place des résistances sur les broches du clavier ? Le microcontrôleur ne sera pas complètement protégé contre les surcharges et les connections entre les broches se fera malgré tout ?