//
*****************************************
// *** Clavier : Lecture d’un
clavier
***
// *** et ecriture des informations
sur
***
// *** le port
serie.
***
// *** L’appui sur la touche # allume la LED
***
// *** L’appui sur la touche * eteint la
LED ***
// *****************************************
#include <Keypad.h>
#define
LIGNES 4
// 4 lignes
#define COLONNES
4 // 4 colonnes
// Definition du mappage du clavier
char keys[LIGNES][COLONNES] = {
{‘1’,’2′,’3′, ‘A’},
{‘4’,’5′,’6′, ‘B’},
{‘7’,’8′,’9′, ‘C’},
{‘#’,’0′,’*’, ‘D’}
};
#define LED 13 // La LED integree est raccordee a la broche 13
// Definition des broches utilisees pour les
lignes
byte rowPins[LIGNES] = { 8, 9, 10,
11 };
// Definition des broches utilisees pour les
colonnes
byte colPins[COLONNES] = { 3, 4, 5,
6 };
// Definition de la connexion avec le
clavier
Keypad kpd = Keypad(
makeKeymap(keys), rowPins, colPins,
LIGNES, COLONNES );
void setup()
{
pinMode(LED,OUTPUT); // Definition de la broche raccordee a la
LED
digitalWrite(LED, HIGH); // Allumage de la LED
Serial.begin(9600);
// Ouverture de la liaison serie
}
void loop()
{
char Touche =
kpd.getKey(); // Lecture du
clavier : key contient la touche lue du clavier
if(Touche) // Si une touche
est pressee, Touche est different de 0
{
switch (Touche) //
Suivant la valeur de le touche lue
{
case ‘*’: //
Touche * : On eteint la LED
digitalWrite(LED,
LOW);
break;
case ‘#’: //
Touche # : On allume la LED
digitalWrite(LED,
HIGH);
break;
default: //
Autres valeurs : On affiche le caractere sur le port serie
Serial.println(Touche);
} // Fin switch
(Touche)
} // Fin if Touche
} // Fin void loop