Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Créer des Boutons Tactiles sur N'importe Quelle Surface avec le Capteur MPR121

Composants et Fournitures

Composant Quantité
Arduino UNO 1
Capteur capacitif tactile Adafruit MPR121 (breakout) 1
LED générique 1

Applications et Services en Ligne

À Propos du Projet

Le MPR121 est un capteur tactile 12 broches exploitant les capacités capacitives de l'IC. Il existe deux bibliothèques principales ; la bibliothèque Bare Conductive est recommandée.

Caractéristiques Clés

Exemples d'Applications

Au fil des ans, j'ai réalisé plusieurs projets avec cet IC :

Schéma de Connexion

Créer des Boutons Tactiles sur N importe Quelle Surface avec le Capteur MPR121

Code Exemple : Allumage/Extinction LED sur Broches 0/1

Cet exemple allume une LED (broche 3) au contact de l'électrode 0 et l'éteint au relâchement de l'électrode 1.

#include <MPR121.h>
#include <Wire.h>

#define numElectrodes 2
#define LEDPIN 3

void setup() {
  Serial.begin(115200);
  Serial.println("System started");
  pinMode(LEDPIN, OUTPUT);
  Wire.begin();
  
  // 0x5A = adresse I2C par défaut (ADDR à GND)
  if (!MPR121.begin(0x5A)) {
    Serial.println("error setting up MPR121");
    switch (MPR121.getError()) {
      case NO_ERROR: Serial.println("no error"); break;
      case ADDRESS_UNKNOWN: Serial.println("incorrect address"); break;
      case READBACK_FAIL: Serial.println("readback failure"); break;
      case OVERCURRENT_FLAG: Serial.println("overcurrent on REXT pin"); break;
      case OUT_OF_RANGE: Serial.println("electrode out of range"); break;
      case NOT_INITED: Serial.println("not initialised"); break;
      default: Serial.println("unknown error"); break;
    }
    while (1);
  }
  
  MPR121.setInterruptPin(4);
  MPR121.setTouchThreshold(40);
  MPR121.setReleaseThreshold(20);
  MPR121.updateTouchData();
}

void loop() {
  if (MPR121.touchStatusChanged()) {
    MPR121.updateTouchData();
    for (int i = 0; i < numElectrodes; i++) {
      if (MPR121.isNewTouch(i)) {
        if (i == 0) digitalWrite(LEDPIN, HIGH);
      } else if (MPR121.isNewRelease(i)) {
        if (i == 1) digitalWrite(LEDPIN, LOW);
      }
    }
  }
}

Processus de fabrication

  1. Détection d'éclairs avec Raspberry Pi et AS3935 : Guide pratique
  2. Suivre l'exercice quotidien de votre hamster avec un tracker de fitness Raspberry Pi
  3. Démarrer avec l'IoT et MQTT : Tutoriel ESP8266 sans code
  4. Intégration I2C fluide entre Arduino et Raspberry Pi 2 pour projets IoT de capteurs
  5. Stockage ADN révolutionnaire transforme objets du quotidien en archives durables
  6. Transformation de la chaîne d'approvisionnement centrée sur l'humain : booster efficacité et résilience
  7. Tour intelligent : Commandes à écran tactile avancées pour usinage de précision
  8. OmniFibers : tissu intelligent qui régule la respiration pour la performance et la récupération
  9. Du concept à la réalité : transformer des designs créatifs en produits tangibles