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
- Modul Sensor Sentuh MPR121
- Dewan Arduino (mis., Uno, mega, nano)
- Papan tempat memotong papan dan kabel jumper
- 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:
- Buka Ide Arduino.
- Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
- 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
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode ke Arduino dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - 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.
- Hubungkan
IRQ
Pin MPR121 ke pin digital di Arduino (mis., Pin 2). - Ubah kode untuk melampirkan deteksi interupsi dan menangani deteksi sentuh dalam interupsi layanan rutin (ISR).
Aplikasi MPR121
- Antarmuka sentuh kapasitif
- Alat musik
- Instalasi Seni Interaktif
- 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!