Arduino ile MPR121 kapasitif dokunmatik sensörü nasıl kullanılır

How to Use the MPR121 Capacitive Touch Sensor with Arduino

MPR121, 12'ye kadar duyarlı elektrot tespit edebilen kapasitif dokunmatik sensör denetleyicisidir. Dokunma duyarlı arayüzlerde, müzik aletlerinde ve diğer etkileşimli projelerde yaygın olarak kullanılır. Bu öğreticide, dokunmatik tabanlı uygulamalar oluşturmak için MPR121'i Arduino ile nasıl bağlayacağınızı ve kullanacağınızı göstereceğiz.


Ne İhtiyacınız Olacak

  1. MPR121 Dokunma Sensörü Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. Breadboard ve jumper telleri
  4. Arduino IDE kurulu bir bilgisayar

1. Adım: MPR121 modülünü anlamak

MPR121, bir mikrodenetleyici ile arayüz oluşturmak için I2C iletişimini kullanır. Elektrotların yakınında iletken bir nesne (örn. Bir parmak) olduğunda kapasitif değişiklikleri tespit edebilen 12 dokunma duyarlı girişe sahiptir.

MPR121 Pinout

Pin İşlev
VCC Güç kaynağı (3.3V/5V)
Gnd Zemin
SDA I2C veri hattı
Scl I2C saat çizgisi
IRQ Kesinti Çıktı (İsteğe bağlı)

Adım 2: MPR121'in Arduino'ya bağlanması

MPR121'i bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

MPR121 PIN Arduino pimi
VCC 5V
Gnd Gnd
SDA A4 (SDA)
Scl A5 (SCL)
IRQ (isteğe bağlı) Bağlı değil

Not: Diğer Arduino panoları için, tahtanızın belgelerindeki I2C pimlerini doğrulayın.


Adım 3: Gerekli kütüphaneyi kurun

Adafruit MPR121 kütüphanesi sensörle çalışmayı kolaylaştırır.

Yüklenecek adımlar:

  1. Arduino IDE'yi açın.
  2. Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
  3. "Adafruit MPR121" i arayın ve tıklayın Düzenlemek.

4. Adım: Kodu yükleyin

İşte MPR121'den gelen dokunmatik girişleri tespit etmek için örnek bir taslak:

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

Adım 5: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. MPR121 modülündeki elektrotlara dokunun ve tespit edilen dokunmatik girişler için seri monitörü gözlemleyin.

İsteğe bağlı: Kesintiler için IRQ PIN'ini kullanma

IRQ pimi, bir dokunuş tespit edildiğinde bir kesinti tetiklemek için kullanılabilir ve bu da sensörü sürekli olarak yok etme ihtiyacını azaltır.

  1. Bağla IRQ MPR121'in pimini Arduino'daki dijital bir pime (örn., Pin 2).
  2. Kesme hizmet rutininde (ISR) bir kesinti eklemek ve dokunma algılamayı işlemek için kodu değiştirin.

MPR121 uygulamaları

  1. Kapasitif dokunmatik arayüzler
  2. Müzik aletleri
  3. Etkileşimli sanat enstalasyonları
  4. Jest tabanlı kontroller

Sorun giderme

  • Sensörden yanıt yok: I2C bağlantılarını ve adresini doğrulayın.
  • Tutarsız dokunma tespiti: Elektrotların temiz ve uygun şekilde bağlı olduğundan emin olun.
  • Kütüphane Hataları: Adafruit MPR121 kütüphanesinin yüklü olduğunu onaylayın.

Çözüm

MPR121 kapasitif dokunmatik sensörünü Arduino ile başarıyla arayüz ettiniz. Bu çok yönlü sensör, etkileşimli ve dokunma duyarlı projeler oluşturmak için olanaklar açar. İşlevselliğini genişletmek için farklı elektrot tasarımları ve konfigürasyonları deneyin!

Yorum bırak

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.