MPR121 -kapasitiivinen kosketusanturin käyttäminen Arduinon kanssa

How to Use the MPR121 Capacitive Touch Sensor with Arduino

MPR121 on kapasitiivinen kosketusanturin ohjain, joka voi havaita jopa 12 kosketusherkkiä elektrodia. Sitä käytetään yleisesti kosketusherkissä rajapinnoissa, soittimissa ja muissa interaktiivisissa projekteissa. Tässä opetusohjelmassa näytämme sinulle, kuinka yhdistää ja käyttää MPR121: tä Arduinon kanssa kosketuspohjaisten sovellusten luomiseen.


Mitä tarvitset

  1. MPR121 Touch anturimoduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. Leipälevy- ja hyppyjohdot
  4. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: MPR121 -moduulin ymmärtäminen

MPR121 käyttää I2C -viestintää liittyäkseen mikrokontrolleriin. Siinä on 12 kosketusherkkiä tuloa, jotka voivat havaita kapasitiiviset muutokset, kun johtava esine (esim. Sormi) on lähellä elektrodeja.

MPR121 Pinout

Nasta Funktio
VCC Virtalähde (3,3 V/5 V)
Hölynpöly Pohja
SDA I2C -datalinja
SCL I2C -kellolinja
IRQ Keskeytyslähtö (valinnainen)

Vaihe 2: MPR121: n johdotus Arduinolle

Näin yhdistetään MPR121 Arduino UNO: lle:

MPR121 -nasta Arduino -nasta
VCC 5V
Hölynpöly Hölynpöly
SDA A4 (SDA)
SCL A5 (SCL)
IRQ (valinnainen) Ei kytketty

Huomaa: Varmista muille Arduino -levyille I2C -nastat hallituksesi dokumentaatiossa.


Vaihe 3: Asenna vaadittu kirjasto

Adafruit MPR121 -kirjasto yksinkertaistaa anturin kanssa työskentelyä.

Asennettava vaiheet:

  1. Avaa Arduino IDE.
  2. Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
  3. Etsi "Adafruit MPR121" ja napsauta Asentaa.

Vaihe 4: Lataa koodi

Tässä on esimerkki luonnoksesta MPR121: n kosketustulojen havaitsemiseksi:

#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
}

Vaihe 5: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi Arduinoon napsauttamalla Ladata.
  4. Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo 9600.
  5. Kosketa MPR121 -moduulin elektrodeja ja tarkkaile sarjamonitoria havaittuihin kosketustuloihin.

Valinnainen: IRQ -tapin käyttäminen keskeytyksiin

IRQ -tapilla voidaan käyttää keskeytyksen käynnistämiseen, kun kosketus havaitaan, mikä vähentää tarvetta kyselyä jatkuvasti.

  1. Yhdistä IRQ MPR121: n nasta digitaaliseen nastaan ​​Arduinossa (esim. Tappi 2).
  2. Muokkaa koodia kiinnittämään keskeytys ja käsittele kosketuksen havaitseminen keskeytyksen huoltorutiinissa (ISR).

MPR121: n sovellukset

  1. Kapasitiiviset kosketusrajapinnat
  2. Soittimet
  3. Interaktiivinen taideinstallaatiot
  4. Elepohjaiset ohjaimet

Vianetsintä

  • Ei vastausta anturilta: Varmista I2C -yhteydet ja osoite.
  • Epäjohdonmukainen kosketuksen havaitseminen: Varmista, että elektrodit ovat puhtaita ja kunnolla kytkettyjä.
  • Kirjastovirheet: Varmista, että Adafruit MPR121 -kirjasto on asennettu.

Johtopäätös

Olet onnistuneesti liittänyt MPR121 -kapasitiivisen kosketusanturin Arduinon kanssa. Tämä monipuolinen anturi avaa mahdollisuuksia luoda interaktiivisia ja kosketusherkkiä projekteja. Kokeile erilaisia ​​elektrodisuunnitteluja ja kokoonpanoja sen toiminnallisuuden laajentamiseksi!

Jätä kommentti

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.