Comment utiliser un clavier matriciel souple 4x4 avec Arduino
Dans ce tutoriel, nous allons explorer comment connecter et utiliser un clavier souple 4x4 avec un Arduino. Ce clavier comporte seize touches mais ne nécessite que huit broches pour la connexion, ce qui en fait un dispositif d'entrée compact et efficace pour divers projets. À la fin de ce guide, vous pourrez lire les entrées du clavier et déclencher des actions en fonction de ces entrées.

Nous utiliserons leKeypadBibliothèque pour interfacer le clavier matriciel, nous permettant de détecter facilement quelle touche est appuyée. Le programme que nous allons implémenter affichera la touche appuyée sur le moniteur série et exécutera une action lorsqu'une touche spécifique est appuyée, comme la touche '4'. Pour un accompagnement plus visuel, n'oubliez pas de consulter la vidéo (dans la vidéo à 00:00).
Matériel expliqué
Le composant principal de ce projet est le clavier 4x4 souple, qui se compose de 16 boutons disposés en grille. Chaque bouton est connecté à une broche spécifique de l'Arduino, ce qui permet à l'Arduino de détecter quand un bouton est pressé. Le clavier fonctionne selon une méthode de balayage matriciel, où les lignes et les colonnes sont activées successivement pour déterminer quelle touche est enfoncée.
Pour connecter le clavier matriciel, vous devrez utiliser huit broches numériques sur l'Arduino. Les lignes sont généralement connectées aux broches 2 à 5, tandis que les colonnes sont connectées aux broches 6 à 9. Cette disposition permet à l'Arduino de lire efficacement l'état de chaque touche.
Détails de la fiche technique
| largeur | 69 mm |
|---|---|
| Longueur | 76 mm |
| Longueur du câble | 84 mm |
| Largeur du connecteur | 20 mm |
| Espacement des trous du connecteur | 2,56 mm |
- Assurez-vous que les broches de lignes et de colonnes sont correctement câblées pour éviter des lectures erronées.
- Utilisez des résistances pull-up si nécessaire pour stabiliser les mesures d'entrée.
- Gérer le rebond des touches dans le logiciel afin d'éviter des lectures multiples pour une seule pression.
- Testez chaque touche individuellement pour vérifier son bon fonctionnement.
- Gardez le clavier sec et propre pour maintenir les performances.
Instructions de câblage

Pour câbler le clavier 4x4 à l'Arduino, connectez les broches de ligne du clavier aux broches numériques de l'Arduino comme suit : connectez la première ligne à la broche2, la deuxième rangée à épingler3, la troisième rangée à épingler4, et la quatrième rangée à épingler5. Pour les broches des colonnes, connectez la première colonne à la broche6, la deuxième colonne à épingler7, la troisième colonne à épingler8, et la quatrième colonne à épingler9.
Ce montage permet à l'Arduino de parcourir les lignes et les colonnes de manière efficace. Assurez-vous de vérifier les connexions afin que chaque broche corresponde bien à la ligne ou à la colonne qui lui est attribuée. Dans la vidéo, d'autres configurations de câblage sont brièvement abordées (à 01:15). Si vous optez pour un câblage différent, mettez simplement à jour les numéros des broches dans le code en conséquence.
Exemples de code et guide pas à pas
Dans le code, nous commençons par inclure leKeypadbibliothèque et en définissant la disposition du clavier. Les lignes et les colonnes sont configurées à l'aide de tableaux, oùrowPinscorrespond aux broches numériques connectées aux lignes etcolPinscorrespond aux colonnes.
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};Dans cet extrait, nous définissons le nombre de rangées et de colonnes, ainsi que la disposition des caractères des touches. Cette configuration est cruciale pour identifier quelle touche est enfoncée en fonction de la rangée et de la colonne activées.
void setup(){
Serial.begin(9600);
}LesetupLa fonction initialise la communication série à 9600 bauds. Cela est important pour envoyer les données d'appui sur les touches au moniteur série pour le débogage et la vérification.
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}Dans leloopDans la fonction, nous vérifions en continu si une touche est enfoncée en utilisantkeypad.getKey(). Si une touche est pressée, il affiche la valeur de la touche sur le moniteur série. De plus, si la touche '4' est pressée, il affiche un message spécifique indiquant que la touche '4' a été activée. Cette section du code permet une interaction en temps réel basée sur l'entrée de l'utilisateur.
Démonstration / À quoi s'attendre
Une fois que tout est configuré et que le code est téléversé sur votre Arduino, vous devriez voir les touches appuyées s'afficher dans le Moniteur série. Si vous appuyez sur la touche '4', le message "La touche 4 est enfoncée" apparaîtra, confirmant que l'entrée a été détectée avec succès. Faites attention aux pièges courants, comme les entrées flottantes ou un câblage incorrect, qui peuvent entraîner des lectures erronées (dans la vidéo à 02:30).
Horodatages vidéo
- 00:00- Introduction au pavé numérique
- 01:15- Instructions de câblage
- 02:30- Explication et démonstration du code
Ce dont vous pourriez avoir besoin
-
AmazonPurchase 4x4 keypad from Amazonamzn.to
-
AliExpressPurchase soft keypad from Aliexpresss.click.aliexpress.com
Ressources et références
Aucune ressource pour le moment.