Réponse rapide

Pour utiliser un clavier matriciel 4x4 avec Arduino, connectez l'interface I2C aux broches SDA et SCL, puis lisez les valeurs ASCII des touches à l'aide de la bibliothèque Wire. Le clavier matriciel mLink 4x4 gère automatiquement le debouncing et le balayage, simplifiant ainsi votre code.

Pourquoi choisir un clavier matriciel I2C plutôt qu'une matrice brute

Un clavier matriciel brut 4x4 nécessite huit broches d'E/S numériques et un debouncing manuel dans le code. Le clavier matriciel mLink 4x4 intègre un module de balayage dédié qui communique via I2C, n'utilisant que deux broches (SDA et SCL) et fournissant une sortie ASCII pré-débouncée. Cela réduit la complexité du câblage et libère des E/S pour d'autres capteurs ou affichages.

Le compromis est le coût : la version mLink est légèrement plus chère qu'un clavier nu. Cependant, pour les projets où la fiabilité et la simplicité comptent, le coût supplémentaire fait gagner du temps de débogage.

Guide pas à pas de câblage et de code

  1. Câblez le clavier à l'Arduino : Connectez le VCC du clavier mLink à 5V de l'Arduino, GND à GND, SDA à A4 (ou broche SDA sur Uno R3 ou ultérieur), et SCL à A5 (ou broche SCL). Pour les autres cartes Arduino, vérifiez le brochage I2C. Erreur courante : inverser SDA et SCL. Si le clavier ne répond pas, échangez les deux fils de données.
  2. Installez la bibliothèque requise : Ouvrez l'IDE Arduino, allez dans Sketch > Include Library > Manage Libraries, et installez la bibliothèque 'mLink' du fabricant de la carte. Cette bibliothèque fournit des fonctions pour lire le clavier via I2C. Si la bibliothèque n'est pas trouvée, téléchargez-la depuis la page produit et installez-la manuellement via Sketch > Include Library > Add .ZIP Library.
  3. Écrivez le code de balayage : Incluez la bibliothèque mLink dans votre sketch. Dans setup(), appelez mLink.begin(). Dans loop(), utilisez mLink.getKey() pour lire la valeur ASCII de la dernière touche pressée. Si la valeur n'est pas 0, imprimez-la sur le moniteur série ou utilisez-la dans votre logique de projet. Point de contrôle : le clavier renvoie 0 lorsqu'aucune touche n'est pressée. Testez toujours une valeur non nulle avant d'agir sur une pression de touche pour éviter les déclenchements intempestifs.
  4. Testez et vérifiez le mappage des touches : Téléchargez le sketch et ouvrez le moniteur série à 9600 bauds. Appuyez sur chaque touche et confirmez que le caractère ASCII correct apparaît. Le clavier mLink produit des lettres majuscules et des chiffres correspondant aux touches imprimées. Si une touche renvoie un caractère différent, vérifiez le câblage ou un clavier défectueux. Aucune table de mappage n'est nécessaire car le module s'en charge.
  5. Intégrez dans votre projet : Remplacez la ligne Serial.print() par votre propre logique : par exemple, stockez la touche dans une chaîne, comparez-la à un mot de passe, ou utilisez-la pour naviguer dans un menu sur un écran LCD. Rappelez-vous que le clavier est interrogé, non piloté par interruption. Votre boucle doit appeler getKey() assez fréquemment pour capturer les pressions rapides.

Référence produit

  • Clavier matriciel mLink 4x4: Le clavier matriciel mLink 4x4 est un clavier tactile à touches 16 montable sur panneau, série (I2C), avec un module qui scanne et débonce en continu les pressions de touches, stockant chaque touche comme une valeur ASCII 8 bits. Vous n'avez pas besoin d'écrire de routines de debouncing ou de balayage dans votre sketch Arduino, ce qui simplifie le code et réduit les faux déclenchements.

    mLink 4x4 Matrix Keypad

    Clavier matriciel mLink 4x4