.. note::
Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez dans l’univers du Raspberry Pi, d'Arduino et de l'ESP32 avec d'autres passionnés.
**Pourquoi nous rejoindre ?**
- **Support d'experts** : Résolvez vos problèmes après-vente et relevez vos défis techniques avec l'aide de notre communauté et de notre équipe.
- **Apprendre et partager** : Échangez des astuces et tutoriels pour enrichir vos compétences.
- **Aperçus exclusifs** : Bénéficiez d'un accès anticipé aux nouvelles annonces de produits et à des aperçus exclusifs.
- **Réductions spéciales** : Profitez de réductions exclusives sur nos derniers produits.
- **Promotions festives et concours** : Participez à des concours et promotions lors des fêtes.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui !
.. _ar_keypad:
2.19 Clavier Matriciel
=========================
Aperçu
---------
Dans cette leçon, vous allez apprendre à utiliser un clavier matriciel.
Le clavier est largement utilisé dans divers dispositifs, comme les téléphones
portables, les télécopieurs, les micro-ondes, etc. Il est souvent employé pour
la saisie de données par l’utilisateur.
Composants Requis
--------------------
.. image:: img/Part_two_19.png
* :ref:`cpn_mega2560`
* :ref:`cpn_wires`
* :ref:`cpn_keypad`
Circuit Fritzing
-------------------
Dans cet exemple, nous étendons les broches 1 à 8 du clavier pour les connecter aux broches numériques 2 à 9.
.. image:: img/image176.png
Schéma de Connexion
----------------------
.. image:: img/image177.png
:align: center
Code
----
.. note::
* Vous pouvez ouvrir directement le fichier ``2.19_keypad.ino`` situé dans le chemin ``sunfounder_vincent_kit_for_arduino\code\2.19_keypad``.
* La bibliothèque ``Keypad`` est utilisée ici, vous pouvez l'installer depuis le **Gestionnaire de Bibliothèques**.
.. image:: img/lib_keypad.png
:align: center
.. raw:: html
Après avoir téléversé le code sur la carte Mega2560, vous pourrez voir sur
le moniteur série la valeur de la touche actuellement appuyée sur le clavier.
Analyse du Code
-----------------
En utilisant la bibliothèque Keypad.h, vous pouvez facilement exploiter un clavier matriciel.
.. code-block:: arduino
#include
**Fonctions de la Bibliothèque :**
.. code-block:: arduino
Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols)
Initialise la disposition interne des touches pour correspondre à userKeymap.
* ``userKeymap`` : Les symboles affichés sur les touches du clavier.
* ``row, col`` : Configuration des broches.
* ``numRows, numCols`` : Dimensions du clavier.
.. code-block:: arduino
char getKey()
Renvoie la touche qui est appuyée, le cas échéant. Cette fonction est non-bloquante.
Illustration du Phénomène
----------------------------
.. image:: img/image178.jpeg
:align: center