MPR121 är en kapacitiv beröringssensorstyrenhet som kan upptäcka upp till 12 pekkänsliga elektroder. Det används ofta i beröringskänsliga gränssnitt, musikinstrument och andra interaktiva projekt. I den här tutorialen visar vi dig hur du ansluter och använder MPR121 med Arduino för att skapa beröringsbaserade applikationer.
Vad du behöver
- MPR121 Touch Sensor Module
- Arduino Board (t.ex. Uno, Mega, Nano)
- Breadboard och jumpertrådar
- En dator med Arduino Ide installerad
Steg 1: Förstå MPR121 -modulen
MPR121 använder I2C -kommunikation för att gränssnitt med en mikrokontroller. Den har 12 beröringskänsliga ingångar som kan upptäcka kapacitiva förändringar när ett ledande objekt (t.ex. ett finger) är nära elektroderna.
MPR121 pinout
Stift | Fungera |
---|---|
Vcc | Strömförsörjning (3.3V/5V) |
Gard | Jord |
SDA | I2C -datalinjen |
SCL | I2c klocklinje |
Irq | Avbrottsutdata (valfritt) |
Steg 2: Kopplar MPR121 till Arduino
Så här ansluter du MPR121 till en Arduino Uno:
MPR121 -stift | Arduinosnål |
---|---|
Vcc | 5V |
Gard | Gard |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
IRQ (valfritt) | Inte ansluten |
Notera: För andra Arduino -kort, verifiera I2C -stiften i ditt styrelsens dokumentation.
Steg 3: Installera det nödvändiga biblioteket
Adafruit MPR121 -biblioteket förenklar att arbeta med sensorn.
Steg för att installera:
- Öppna Arduino IDE.
- Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
- Sök efter "Adafruit MPR121" och klicka Installera.
Steg 4: Ladda upp koden
Här är ett exempelskiss för att upptäcka beröringsinmatningar från 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
}
Steg 5: Testa installationen
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden till Arduino genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - Tryck på elektroderna i MPR121 -modulen och observera seriell monitor för detekterade beröringsinmatningar.
Valfritt: Använd IRQ -stiftet för avbrott
IRQ -stiftet kan användas för att utlösa ett avbrott när en touch upptäcks, vilket minskar behovet av att ständigt undersöka sensorn.
- Ansluta
IRQ
Stift av MPR121 till en digital stift på Arduino (t.ex. stift 2). - Ändra koden för att bifoga ett avbrott och hantera beröringsdetektering i avbrottstjänstrutinen (ISR).
Ansökningar av MPR121
- Kapacitiva beröringsgränssnitt
- Musikinstrument
- Interaktiva konstinstallationer
- Gestbaserade kontroller
Felsökning
- Inget svar från sensorn: Verifiera I2C -anslutningar och adress.
- Inkonsekvent beröringsdetektering: Se till att elektroderna är rena och korrekt anslutna.
- Biblioteksfel: Bekräfta att Adafruit MPR121 -biblioteket är installerat.
Slutsats
Du har framgångsrikt interfogat MPR121 kapacitiva beröringssensor med Arduino. Denna mångsidiga sensor öppnar möjligheterna för att skapa interaktiva och beröringskänsliga projekt. Experimentera med olika elektrodkonstruktioner och konfigurationer för att utöka sin funktionalitet!