Code Arduino et vidéo pour un clavier à quatre touches

Code Arduino et vidéo pour un clavier à quatre touches

Dans ce tutoriel, nous apprendrons comment utiliser un clavier à 4 touches avec un Arduino. Ce projet est particulièrement utile pour des applications où vous avez besoin de plusieurs boutons mais souhaitez minimiser le nombre de fils utilisés. En connectant le clavier d'une manière spécifique, nous pouvons obtenir une configuration fonctionnelle avec seulement 5 fils au lieu de 8.

4 key flixable keypad

Le clavier à quatre touches simplifie le processus de câblage, car il dispose d'une connexion commune qui réduit le nombre total de fils nécessaires. Chaque touche est connectée à l'Arduino via des broches désignées, ce qui permet une interaction et un contrôle faciles. Ce guide couvrira le câblage, le code et le comportement attendu du clavier, afin que vous puissiez reproduire le projet avec succès (dans la vidéo à 02:30).

Le matériel expliqué

Les principaux composants de ce projet comprennent un clavier à quatre touches et une carte Arduino. Le clavier contient quatre boutons, et chaque bouton se connecte à l'Arduino via deux fils : un fil commun et un fil dédié pour chaque bouton. Cette configuration permet des connexions simples tout en minimisant l'encombrement.

L'Arduino interprète les appuis sur les boutons via des entrées numériques, en s'appuyant sur des résistances pull-up internes pour garantir des lectures stables. Lorsqu'un bouton est enfoncé, il connecte la broche correspondante à la masse, ce qui permet à l'Arduino de détecter le changement d'état.

Détails de la fiche technique

FabricantGénérique
Numéro de pièceClavier à 4 touches
Tension logique/E/S5 V
Tension d'alimentation5 V
Nombre de clés4
Type de broche courantActif bas
Résistance du bouton1 kΩ (typique)
ColisCircuit imprimé flexible
Notes / variantesDisponible en plusieurs configurations

  • Chaque bouton nécessite deux connexions : une pour le bouton et une pour la masse commune.
  • L'utilisation des résistances pull-up internes simplifie le câblage et réduit le nombre de composants.
  • Assurez-vous que la broche commune est connectée à la masse pour un fonctionnement correct.
  • Gérez les rebonds des appuis sur les boutons dans le logiciel pour éviter des lectures erronées.
  • Testez la fonctionnalité du bouton avec un simple affichage sur le port série pour obtenir un retour d'information.

Instructions de câblage

Arduino wiring for 4 key keypad
Arduino wiring for 4 key keypad

Pour câbler le clavier à quatre touches à l'Arduino, suivez ces étapes :

  • Connectez le premier fil de la clé à la broche2sur l'Arduino.
  • Connectez le deuxième fil de la clé à la broche3.
  • Connectez le troisième fil de clé à la broche4.
  • Connectez le quatrième fil de la clé à la broche5.
  • Connectez le fil commun du clavier matriciel à la broche de masse (GND) de l'Arduino.

Assurez-vous de connecter solidement chaque fil pour éviter toute connexion lâche. Si vous rencontrez des problèmes, revérifiez chaque connexion par rapport aux affectations des broches montrées dans la vidéo (dans la vidéo à 04:15).

Exemples de code et guide pas à pas

L'extrait de code suivant initialise les broches du pavé numérique et les configure en tant qu'entrées :

#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5

void setup() {
 Serial.begin(9600);
 pinMode(key1, INPUT_PULLUP); // set pin as input
 pinMode(key2, INPUT_PULLUP); // set pin as input
 pinMode(key3, INPUT_PULLUP); // set pin as input
 pinMode(key4, INPUT_PULLUP); // set pin as input   
}

Dans le code ci‑dessus, chaque touche est définie avec un numéro de broche correspondant. LeINPUT_PULLUPLe mode assure que les broches restent à l'état haut lorsqu'elles ne sont pas enfoncées, ce qui simplifie la détection de l'appui sur le bouton.

La fonction loop lit l'état de chaque touche et affiche le message correspondant lorsqu'elle est pressée :

void loop() {
  int key1S = digitalRead(key1); // read if key1 is pressed
  int key2S = digitalRead(key2); // read if key2 is pressed
  int key3S = digitalRead(key3); // read if key3 is pressed
  int key4S = digitalRead(key4); // read if key4 is pressed 

  if(!key1S) {
    Serial.println("key 1 is pressed");
  }
  if(!key2S) {
    Serial.println("key 2 is pressed");
  }
  // Additional code for key3 and key4...
  delay(100);
}

Ce segment de code vérifie l'état de chaque touche et affiche un message sur le moniteur série lorsqu'une touche est enfoncée. Ledelay(100)permet un effet anti-rebond, garantissant que plusieurs pressions ne soient pas enregistrées en succession rapide.

Démonstration / À quoi s'attendre

Une fois le câblage effectué et le code téléversé sur votre Arduino, vous devriez voir le moniteur série afficher des messages indiquant quelle touche est enfoncée. L'appui sur la touche 1 affichera "touche 1 est enfoncée" et ainsi de suite pour les autres touches. Si les messages n'apparaissent pas, vérifiez votre câblage et assurez-vous que le fil commun est connecté à la masse.

Faites attention aux connexions inversées, car cela peut entraîner un comportement inattendu. Assurez-vous que les broches utilisées correspondent à celles définies dans votre code (dans la vidéo à 06:45).

Horodatages vidéo

  • 00:00- Introduction
  • 02:30- Explication du câblage
  • 04:15- Affectations des broches
  • 06:45- Test du clavier

Images

4 key flixable keypad
4 key flixable keypad
Arduino wiring for 4 key keypad
Arduino wiring for 4 key keypad
50-Arduino Code for 4 key keypad
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Bibliothèques Arduino (zip)