Comment utiliser le capteur tactile capacitif MPR121 avec Arduino

How to Use the MPR121 Capacitive Touch Sensor with Arduino

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

  1. Module de capteur tactile MPR121
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Fils de planche à pain et de cavalier
  4. 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:

  1. Ouvrez l'ide Arduino.
  2. Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
  3. 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

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code sur l'Arduino en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. 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.

  1. Connectez le IRQ PIN du MPR121 à une épingle numérique sur l'Arduino (par exemple, broche 2).
  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

  1. Interfaces tactiles capacitives
  2. Instruments de musique
  3. Installations d'art interactives
  4. 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!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.