Utilisation d'un clavier matriciel 4x3 avec Arduino

Utilisation d'un clavier matriciel 4x3 avec Arduino

Dans ce tutoriel, nous allons explorer comment utiliser un clavier 4x3 avec un Arduino pour lire les appuis sur les touches. Ce clavier peut être utilisé dans divers projets, comme la création d'une interface d'entrée simple pour un système de sécurité ou toute application nécessitant une saisie utilisateur. À la fin de ce guide, vous serez capable de lire les appuis sur les touches et de répondre à des touches spécifiques.

Assurez-vous de consulter la vidéo d'accompagnement pour une démonstration visuelle du câblage et de l'implémentation du code (dans la vidéo à 00:00).

Le matériel expliqué

Les principaux composants de ce projet comprennent le clavier 4x3 et la carte Arduino. Le clavier se compose d'une matrice de boutons disposés en 4 rangées et 3 colonnes. Lorsqu'un bouton est appuyé, il relie une rangée spécifique à une colonne spécifique, ce qui permet à l'Arduino d'identifier quel bouton a été appuyé.

La carte Arduino fait office de contrôleur central qui lit les entrées du clavier matriciel. Elle utilise la bibliothèque Keypad, qui simplifie la gestion du clavier matriciel et facilite la détection des appuis sur les touches.

Détails de la fiche technique

FabricantDivers
Numéro de pièceClavier 4x3
Tension logique5 V
Courant de fonctionnement≤ 20 mA
Durée de vie de la clé≥ 1,000,000 pressions
PaquetClavier matriciel

  • Connectez correctement les broches du clavier aux broches numériques de l'Arduino.
  • Utilisez des résistances pull-up ou pull-down si nécessaire, selon votre configuration.
  • Assurez-vous que la bibliothèque Keypad est incluse dans votre IDE Arduino.
  • Gérez le rebond des appuis sur les touches par logiciel pour éviter des lectures multiples.
  • Testez chaque touche pour confirmer le câblage et le bon fonctionnement.

Instructions de câblage

Arduino_wiring_4x3_keypad

Pour câbler le clavier 4x3 à l'Arduino, vous relierez les broches de ligne et de colonne du clavier aux broches numériques de l'Arduino. Connectez les broches de ligne (généralement 4 broches) aux broches2,3,4, et5sur l'Arduino. Les broches des colonnes (généralement 3 broches) doivent être connectées aux broches6,7, et8.

Assurez-vous de connecter la broche de masse du clavier à la masse de l'Arduino et la broche d'alimentation à la sortie 5V. Cette configuration permettra à l'Arduino de lire l'état de chaque touche lorsqu'elle est pressée, en utilisant la bibliothèque Keypad pour gérer le balayage de la matrice.

Exemples de code et guide pas à pas

Le code suivant initialise le clavier matriciel et affiche la touche appuyée sur le moniteur série. Les valeurs des touches sont stockées dans un tableau de caractères.

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

LekeysLe tableau définit la disposition du clavier, qui correspond à l'agencement physique des touches. Chaque caractère représente un bouton du clavier.

Ensuite, nous configurons le clavier dans lesetup()fonction :

void setup(){
  Serial.begin(9600);
  Serial.println("Robojax 4x3 keypad");
}

Ce segment initialise la communication série à 9600 bauds, ce qui nous permet de voir les appuis sur les touches dans le moniteur série.

Enfin, la boucle vérifie les appuis sur les touches et réagit en conséquence :

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  } 
  if (key =='4'){
    Serial.println("Key 4 is pressed");
  } 
}

Ici, le programme vérifie si une touche est enfoncée en utilisantkeypad.getKey(). Si une touche est enfoncée, il affiche la valeur de la touche. De plus, si la touche '4' est enfoncée, un message spécifique est affiché.

Démonstration / À quoi s'attendre

Une fois la configuration terminée, l'appui sur n'importe quelle touche du clavier doit afficher le caractère correspondant dans le moniteur série. Si la touche '4' est enfoncée, un message spécial sera affiché indiquant l'activation de cette touche. Cette fonctionnalité vous permet de vous appuyer sur cette base pour créer des applications plus complexes.

Faites attention aux entrées flottantes qui peuvent entraîner un comportement erratique. Assurez-vous que toutes les connexions sont bien sécurisées et testez chaque touche pour confirmer son bon fonctionnement (dans la vidéo à 00:00).

Images

4x3_kaypad-1
4x3_kaypad-1
4x3_kaypad-2
4x3_kaypad-2
4x3_kaypad-3
4x3_kaypad-3
4x3_kaypad-4
4x3_kaypad-4
4x3_kaypad-5
4x3_kaypad-5
Arduino_wiring_4x3_keypad
Arduino_wiring_4x3_keypad
128-Ardunino code for 4x3 keypad
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing

Autres fichiers