Cara menggunakan sensor sentuh kapasitif mpr121 dengan arduino

How to Use the MPR121 Capacitive Touch Sensor with Arduino

MPR121 adalah pengontrol sensor sentuh kapasitif yang dapat mendeteksi hingga 12 elektroda yang peka terhadap sentuhan. Ini biasanya digunakan dalam antarmuka yang sensitif terhadap sentuhan, alat musik, dan proyek interaktif lainnya. Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menghubungkan dan menggunakan MPR121 dengan Arduino untuk membuat aplikasi berbasis sentuh.


Apa yang Anda Butuhkan

  1. Modul Sensor Sentuh MPR121
  2. Dewan Arduino (mis., Uno, mega, nano)
  3. Papan tempat memotong papan dan kabel jumper
  4. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami Modul MPR121

MPR121 menggunakan komunikasi I2C untuk berinteraksi dengan mikrokontroler. Ini memiliki 12 input sensitif sentuh yang dapat mendeteksi perubahan kapasitif ketika objek konduktif (mis., Sebuah jari) berada di dekat elektroda.

MPR121 Pinout

Pin Fungsi
Vcc Catu daya (3.3V/5V)
Gnd Tanah
SDA Jalur data I2C
Scl I2C Clock Line
Irq Output interupsi (opsional)

Langkah 2: Kabel MPR121 ke Arduino

Inilah cara menghubungkan MPR121 ke Arduino UNO:

Pin MPR121 Pin Arduino
Vcc 5v
Gnd Gnd
SDA A4 (SDA)
Scl A5 (SCL)
IRQ (opsional) Tidak terhubung

Catatan: Untuk papan Arduino lainnya, verifikasi pin I2C dalam dokumentasi dewan Anda.


Langkah 3: Instal perpustakaan yang diperlukan

Perpustakaan Adafruit MPR121 menyederhanakan bekerja dengan sensor.

Langkah untuk menginstal:

  1. Buka Ide Arduino.
  2. Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
  3. Cari "Adafruit MPR121" dan klik Memasang.

Langkah 4: Unggah kode

Inilah contoh sketsa untuk mendeteksi input sentuh dari 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
}

Langkah 5: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  3. Unggah kode ke Arduino dengan mengklik Mengunggah.
  4. Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke 9600.
  5. Sentuh elektroda pada modul MPR121, dan amati monitor serial untuk input sentuh yang terdeteksi.

Opsional: Menggunakan pin IRQ untuk interupsi

Pin IRQ dapat digunakan untuk memicu interupsi ketika sentuhan terdeteksi, mengurangi kebutuhan untuk terus -menerus polling sensor.

  1. Hubungkan IRQ Pin MPR121 ke pin digital di Arduino (mis., Pin 2).
  2. Ubah kode untuk melampirkan deteksi interupsi dan menangani deteksi sentuh dalam interupsi layanan rutin (ISR).

Aplikasi MPR121

  1. Antarmuka sentuh kapasitif
  2. Alat musik
  3. Instalasi Seni Interaktif
  4. Kontrol berbasis gesture

Pemecahan masalah

  • Tidak ada tanggapan dari sensor: Verifikasi koneksi dan alamat I2C.
  • Deteksi sentuh yang tidak konsisten: Pastikan elektroda bersih dan terhubung dengan benar.
  • Kesalahan Perpustakaan: Konfirmasikan bahwa perpustakaan Adafruit MPR121 diinstal.

Kesimpulan

Anda telah berhasil menghubungkan sensor sentuh kapasitif MPR121 dengan Arduino. Sensor serbaguna ini membuka kemungkinan untuk membuat proyek interaktif dan sensitif terhadap sentuhan. Eksperimen dengan desain dan konfigurasi elektroda yang berbeda untuk memperluas fungsinya!

Tinggalkan komentar

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.