Le MPR121 est un contrôleur de capteur tactile capacitif qui peut détecter jusqu'à 12 électrodes sensibles au toucher. Il est couramment utilisé dans les interfaces sensibles au toucher, les instruments de musique et d'autres projets interactifs. Dans ce didacticiel, nous vous montrerons comment vous connecter et utiliser le MPR121 avec Arduino pour créer des applications tactiles.
Ce dont vous aurez besoin
- Module de capteur tactile MPR121
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le module MPR121
Le MPR121 utilise la communication I2C pour s'interfacer avec un microcontrôleur. Il a 12 entrées sensibles au toucher qui peuvent détecter des changements capacitifs lorsqu'un objet conducteur (par exemple, un doigt) est près des électrodes.
Pinout MPR121
Épingle | Fonction |
---|---|
VCC | Alimentation (3,3 V / 5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
IRQ | Interruption de sortie (facultatif) |
Étape 2: Câblage du MPR121 à Arduino
Voici comment connecter le MPR121 à un Arduino Uno:
Broche MPR121 | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
IRQ (facultatif) | Non connecté |
Note: Pour d'autres cartes Arduino, vérifiez les broches I2C dans la documentation de votre conseil d'administration.
Étape 3: Installez la bibliothèque requise
La bibliothèque Adafruit MPR121 simplifie le travail avec le capteur.
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "Adafruit MPR121" et cliquez Installer.
Étape 4: Téléchargez le code
Voici un exemple de croquis pour détecter les entrées tactiles du MPR121:
#include <Wire.h>
#include "Adafruit_MPR121.h"
Adafruit_MPR121 mpr121 = Adafruit_MPR121();
void setup() {
Serial.begin(9600);
Serial.println("Initializing MPR121...");
if (!mpr121.begin(0x5A)) { // Default I2C address is 0x5A
Serial.println("MPR121 not found. Check connections.");
while (1);
}
Serial.println("MPR121 initialized.");
}
void loop() {
// Read touch status
uint16_t touchStatus = mpr121.touched();
for (uint8_t i = 0; i < 12; i++) {
if (touchStatus & (1 << i)) {
Serial.print("Electrode ");
Serial.print(i);
Serial.println(" touched.");
}
}
delay(100); // Update every 100ms
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Touchez les électrodes sur le module MPR121 et observez le moniteur série pour les entrées tactiles détectées.
Facultatif: Utilisation de la broche IRQ pour les interruptions
La broche IRQ peut être utilisée pour déclencher une interruption lorsqu'une touche est détectée, réduisant la nécessité de recueillir constamment le capteur.
- Connectez le
IRQ
PIN du MPR121 à une épingle numérique sur l'Arduino (par exemple, broche 2). - Modifiez le code pour attacher une interruption et gérer la détection tactile dans la routine de service d'interruption (ISR).
Applications du MPR121
- Interfaces tactiles capacitives
- Instruments de musique
- Installations d'art interactives
- Contrôles basés sur les gestes
Dépannage
- Aucune réponse du capteur: Vérifiez les connexions et l'adresse I2C.
- Détection tactile incohérente: Assurez-vous que les électrodes sont propres et correctement connectées.
- Erreurs de bibliothèque: Confirmez que la bibliothèque Adafruit MPR121 est installée.
Conclusion
Vous avez réussi à interfacer le capteur tactile capacitif MPR121 avec Arduino. Ce capteur polyvalent ouvre des possibilités pour créer des projets interactifs et sensibles au toucher. Expérimentez avec différentes conceptions d'électrodes et configurations pour étendre ses fonctionnalités!