Ce que vous apprendrez
Utilisation du clavier matriciel 4x4 tactile TTP229 avec Arduino
Prérequis
clavier matriciel 4x4 tactile TTP229
Contenu du cours
Le clavier matriciel 4x4 tactile TTP229 est un module d’interrupteur tactile capacitif qui offre
seize touches distincts de détection tactile, basé sur un circuit intégré qui
détecte les variations de capacité sur les 16 touches et peut être configuré en mode 8 bits où les broches TP2 sont en circuit ouvert ou 16 bits où les broches TP2 sont court-circuités.
Chaque touche a une capacitance propre qui change lorsque l’on la touche. Le
circuit intégré mesure ces changements et envoie un signal correspondant à la
touche pressée. Le signal peut être transmis en mode I2C ou en mode parallèle
selon le réglage du clavier. Le mode I2C utilise deux fils (SCL et SDO) pour
communiquer avec la carte Arduino. Le mode parallèle utilise 8 fils (TP0 à TP7)
pour envoyer le code binaire de la touche pressée. Il est important de noter que le clavier matriciel 4x4 tactile TTP229 16
canaux est conçu pour fournir une interface d’entrée polyvalente et réactive
pour les projets électroniques nécessitant de multiples options de contrôle par
contact. Avec sa capacité à détecter des contacts électriques sur une multitude de
canaux, il permet des interactions intuitives et réactives dans une variété
d’applications.
Spécifications du module
-
Lumière de puissance à bord : Elle indique si le module est sous tension.
-
Tension de fonctionnement : 2.4 V à 5.5V.
-
Courant de
fonctionnement : < 8mA
-
Poids : 22g
-
Dimension : 65mm x 63mm x 10mm
Pour
réaliser le câblage du clavier TTP229 avec la carte Arduino, nous allons utiliser les composants suivants :
-
Un Clavier matriciel 4x4 tactile TTP229
-
Une carte Arduino
- Des jumpers mâle femelle
Etape1 : Mode I2C
Câblage
TTP 229 16 canaux | carte Arduino |
VCC | 5V |
GND | GND |
SCL | broche 2 |
SDO | broche 3 |
- Reliez les bornes TP2 du module TTP229
Plan de câblage
Plan de câblage en mode I2C
Code Arduino
Voici un exemple de code pour
faire fonctionner les seize touches du TTP229 en mode I2C.
#include <TTP229.h> /* Cette ligne inclut la bibliothèque TTP229.h qui permet de contrôler le module TTP229 avec 16 touches tactiles capacitives. Vous pouvez télécharger la bibliothèque TTP 229 en allant dans la fenêtre Outils puis Gestionnaire de bibliothèque et puis vous tapez TTP229 dans la barre de recherche.*/
const int SCL_PIN = 2; /*Cette ligne définit une constante nommée
SCL_PIN qui vaut 2. Cela signifie que la broche SCL du module TTP229 est
connectée à la broche 2 de l’Arduino.*/
const int SDO_PIN = 3; /* Cette ligne définit une constante nommée
SDO_PIN qui vaut 3. Cela signifie que la broche SDO du module TTP229 est
connectée à la broche 3 de l’Arduino.*/
TTP229 ttp229(SCL_PIN,
SDO_PIN); /* Cette ligne crée un objet nommé ttp229 de la classe TTP229, en
passant les constantes SCL_PIN et SDO_PIN comme paramètres. Cela permet
d'initialiser la communication avec le module TTP229 via le bus I2C.*/
void setup() /* Cette ligne
déclare la fonction setup() qui s'exécute une seule fois au démarrage du
programme.*/
{
Serial.begin(115200); /* Cette ligne
initialise la communication série avec le moniteur série de l'IDE Arduino, en
utilisant un débit de 115200 bauds. Cela permet d'afficher les messages et les
données sur le moniteur série.*/
Serial.println("Commencez à appuyer sur
une touche à la fois!"); /* Cette ligne affiche le message "Commencez
à appuyer sur une touche à la fois!" sur le moniteur série, suivi d'un
saut de ligne. Cela indique à l'utilisateur qu'il peut commencer à tester les
touches du module TTP229.*/
}
void loop() /* Cette ligne
déclare la fonction loop() qui s'exécute en boucle après la fonction setup().*/
{
uint8_t key = ttp229.ReadKey16(); /* Cette
ligne déclare une variable nommée key de type uint8_t (entier non signé sur 8
bits) et lui affecte la valeur renvoyée par la méthode ReadKey16() de l'objet
ttp229. Cette méthode lit l'état des 16 touches du module TTP229 et renvoie le
numéro de la touche appuyée ou 0 si aucune touche n'est appuyée.*/
if (key) Serial.println(key); /* Cette ligne
teste si la variable key est différente de zéro, ce qui signifie qu'une touche
est appuyée. Si c'est le cas, elle affiche la valeur de key sur le moniteur
série, suivi d'un saut de ligne. Cela permet d'identifier quelle touche est
appuyée.*/
}
Etape2 : Mode parallèle
Câblage
Carte Arduino |
TTP229 |
5V |
VCC |
GND |
GND |
Broche 2 |
OUT1 |
Broche 3 |
OUT2 |
Broche 4 |
OUT3 |
Broche 5 |
OUT4 |
Broche 6 |
OUT5 |
Broche 7 |
OUT6 |
Broche 8 |
OUT7 |
Broche 9 |
OUT8 |
Broche 10 |
SCL |
Broche 11 |
SDO |
-
Reliez les bornes TP2 du module TTP229
Plan de câblage
Plan de câblage en mode parallèle
Code Arduino
Voici un exemple de code pour
faire fonctionner les seize touches du TTP229 en mode parallèle.
#define SCL_PIN 10
#define SDO_PIN 11
/* Utilisé pour stocker l'état
de la clé */
byte Key;
void setup()
{
/*
Initialise the serial interface */
Serial.begin(9600);
/* Configure
the clock and data pins */
pinMode(SCL_PIN, OUTPUT);
pinMode(SDO_PIN, INPUT);
}
/* Main program */
void loop()
{
/* Read the
current state of the keypad */
Key =
Read_Keypad();
/* If a key
has been pressed output it to the serial port */
if (Key)
Serial.println(Key);
/* Wait a
little before reading again
so not to
flood the serial port*/
delay(100);
}
/* Read the state of the keypad */
byte Read_Keypad(void)
{
byte Count;
byte
Key_State = 0;
/* Pulse the
clock pin 16 times (one for each key of the keypad)
and read
the state of the data pin on each pulse */
for(Count =
1; Count <= 16; Count++)
{
digitalWrite(SCL_PIN, LOW);
/* If the
data pin is low (active low mode) then store the
current
key number */
if
(!digitalRead(SDO_PIN))
Key_State = Count;
digitalWrite(SCL_PIN, HIGH);
}
return
Key_State;
}
Les deux codes Arduino sont disponibles ici
Test
A cause de la facilité qu’offre
le mode I2C en raison de l’utilisation de peu de fils, nous avons préféré
utiliser ce mode dans le présent tutoriel. Voici les
tests et résultats que vous devez obtenir si vous faites le câblage en suivant
le Plan de
câblage en mode I2C
et exécutez son code.
-
Appuyez sur les touches du clavier tactile TTP229 pour
vérifier si elles fonctionnent correctement. Chaque touche du clavier a un
numéro associé.
-
Lorsque vous appuyez sur une touche, le numéro de cette touche est
affiché sur le moniteur série de l’IDE Arduino. Par exemple, si vous appuyez
sur la touche 1, le chiffre “1” sera affiché.
-
N’oubliez pas d’ouvrir le moniteur série dans l’IDE Arduino pour
voir les résultats de ces tests. Assurez-vous également que la vitesse en bauds
du moniteur série correspond à celle définie dans le code (Serial.begin(115200);
).
Le clavier matriciel 4x4 tactile peut être utilisé dans d’autres domaines d’applications
variés, tels que :
-
Clavier numérique pour Arduino
ou Raspberry Pi
-
Interface utilisateur pour des
jeux, des robots, des instruments de musique, etc.
-
Contrôleur de volume ou de
luminosité pour des écrans ou des haut-parleurs
-
Clavier de contrôle d’un coffre-fort.
Ce tutoriel sur le Clavier matriciel 4x4 tactile a
permis de mettre en évidence la polyvalence et l’efficacité de ce capteur dans
diverses applications. Grâce à ses 16 canaux, le TTP229 offre une grande flexibilité,
permettant de détecter une multitude d’interactions tactiles. Nous espérons que
ce tutoriel vous a fourni les connaissances nécessaires pour intégrer le TTP229
dans vos propres projets. N’hésitez pas à partager vos expériences et vos
réalisations avec nous!
Comment interfacer le clavier matriciel 4x4 tactile TTP229 avec Arduino.
Catégorie
Durée
01:00:00
Nombre de vidéos
0
Certificat de fin de formation
NON