Ang MPR121 ay isang capacitive touch sensor controller na maaaring makakita ng hanggang sa 12 touch-sensitive electrodes. Karaniwang ginagamit ito sa mga interface na sensitibo sa touch, mga instrumento sa musika, at iba pang mga interactive na proyekto. Sa tutorial na ito, ipapakita namin sa iyo kung paano kumonekta at gamitin ang MPR121 kasama si Arduino upang lumikha ng mga application na batay sa touch.
Ano ang kakailanganin mo
- MPR121 Module ng Touch Sensor
- Arduino Board (hal., Uno, Mega, Nano)
- Mga wire ng tinapay at jumper
- Isang computer na may naka -install na Arduino IDE
Hakbang 1: Pag -unawa sa module ng MPR121
Ang MPR121 ay gumagamit ng komunikasyon ng I2C upang makipag -ugnay sa isang microcontroller. Mayroon itong 12 touch-sensitive input na maaaring makakita ng mga capacitive na pagbabago kapag ang isang conductive object (hal., Isang daliri) ay malapit sa mga electrodes.
MPR121 Pinout
Pin | Function |
---|---|
VCC | Power Supply (3.3V/5V) |
Gnd | Lupa |
SDA | I2C Data Line |
SCL | I2C linya ng orasan |
IRQ | Matakpan ang output (opsyonal) |
Hakbang 2: Ang mga kable ng MPR121 kay Arduino
Narito kung paano ikonekta ang MPR121 sa isang Arduino uno:
MPR121 Pin | Arduino Pin |
---|---|
VCC | 5v |
Gnd | Gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
IRQ (Opsyonal) | Hindi konektado |
Tandaan: Para sa iba pang mga board ng Arduino, i -verify ang mga i2C pin sa dokumentasyon ng iyong board.
Hakbang 3: I -install ang kinakailangang library
Ang Adafruit MPR121 library ay pinapasimple ang nagtatrabaho sa sensor.
Mga hakbang upang mai -install:
- Buksan ang Arduino IDE.
- Pumunta sa Sketch > Isama ang library > Pamahalaan ang mga aklatan.
- Maghanap para sa "Adafruit MPR121" at i -click I -install.
Hakbang 4: Mag -upload ng code
Narito ang isang halimbawa ng sketch upang makita ang mga touch input mula sa 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
}
Hakbang 5: Subukan ang pag -setup
- Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
- Buksan ang Arduino IDE at piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
- I -upload ang code sa Arduino sa pamamagitan ng pag -click Mag -upload.
- Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa
9600
. - Pindutin ang mga electrodes sa module ng MPR121, at obserbahan ang serial monitor para sa mga napansin na mga touch input.
Opsyonal: Gamit ang IRQ PIN para sa mga pagkagambala
Ang IRQ pin ay maaaring magamit upang ma -trigger ang isang makagambala kapag napansin ang isang touch, binabawasan ang pangangailangan na patuloy na poll ang sensor.
- Ikonekta ang
IRQ
Pin ng MPR121 sa isang digital pin sa Arduino (hal., Pin 2). - Baguhin ang code upang ilakip ang isang makagambala at hawakan ang pagtuklas ng touch sa nakagambala na gawain ng serbisyo (ISR).
Mga aplikasyon ng MPR121
- Mga capacitive touch interface
- Mga instrumentong pangmusika
- Interactive na pag -install ng sining
- Mga kontrol na batay sa kilos
Pag -aayos
- Walang tugon mula sa sensor: Patunayan ang mga koneksyon at address ng I2C.
- Hindi pantay na pagtuklas ng touch: Tiyakin na ang mga electrodes ay malinis at maayos na konektado.
- Mga error sa library: Kumpirma na naka -install ang ADAFRUIT MPR121 Library.
Konklusyon
Matagumpay mong na -interface ang MPR121 capacitive touch sensor kasama si Arduino. Ang maraming nalalaman sensor ay magbubukas ng mga posibilidad para sa paglikha ng mga interactive at touch-sensitive na proyekto. Eksperimento na may iba't ibang mga disenyo ng elektrod at mga pagsasaayos upang mapalawak ang pag -andar nito!