MPR121 عبارة عن وحدة تحكم مستشعر لللمس بالسعة يمكنها اكتشاف ما يصل إلى 12 قطبًا حساسًا للمس. يتم استخدامه بشكل شائع في واجهات حساسة للمس والآلات الموسيقية والمشاريع التفاعلية الأخرى. في هذا البرنامج التعليمي ، سنعرض لك كيفية الاتصال واستخدام MPR121 مع Arduino لإنشاء تطبيقات تعتمد على اللمس.
ماذا ستحتاج
- وحدة مستشعر Touch MPR121
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم وحدة MPR121
يستخدم MPR121 اتصال I2C للتفاعل مع متحكم. يحتوي على 12 مدخلًا حساسًا للمس يمكنه اكتشاف التغييرات السعة عندما يكون كائن موصل (على سبيل المثال ، إصبع) بالقرب من الأقطاب الكهربائية.
MPR121 Pinout
دبوس | وظيفة |
---|---|
VCC | مزود الطاقة (3.3V/5V) |
GND | أرضي |
SDA | خط بيانات I2C |
SCL | خط الساعة I2C |
IRQ | الإخراج المقاطعة (اختياري) |
الخطوة 2: توصيل MPR121 إلى Arduino
إليك كيفية توصيل MPR121 بأردوينو UNO:
MPR121 دبوس | دبوس أردوينو |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
IRQ (اختياري) | غير متصل |
ملحوظة: بالنسبة إلى لوحات Arduino الأخرى ، تحقق من دبابيس I2C في وثائق مجلس الإدارة.
الخطوة 3: تثبيت المكتبة المطلوبة
تعمل مكتبة Adafruit MPR121 على تبسيط العمل مع المستشعر.
خطوات التثبيت:
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "Adafruit MPR121" وانقر فوق ثَبَّتَ.
الخطوة 4: تحميل الرمز
فيما يلي مثال على ذلك لاكتشاف مدخلات اللمس من 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
}
الخطوة 5: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - لمس الأقطاب الكهربائية على وحدة MPR121 ، ومراقبة الشاشة التسلسلية لمدخلات اللمس المكتشفة.
اختياري: استخدام دبوس IRQ للمقاطعات
يمكن استخدام دبوس IRQ لتشغيل المقاطعة عند اكتشاف لمسة ، مما يقلل من الحاجة إلى استطلاع المستشعر باستمرار.
- توصيل
IRQ
دبوس من MPR121 إلى دبوس رقمي على Arduino (على سبيل المثال ، PIN 2). - قم بتعديل الكود لإرفاق الكشف عن اللمس في المقاطعة والمعالجة في روتين خدمة المقاطعة (ISR).
تطبيقات MPR121
- واجهات اللمس بالسعة
- الآلات الموسيقية
- المنشآت الفنية التفاعلية
- الضوابط القائمة على الإيماءات
استكشاف الأخطاء وإصلاحها
- لا استجابة من المستشعر: تحقق من اتصالات I2C والعنوان.
- اكتشاف اللمس غير المتسق: تأكد من أن الأقطاب الكهربائية نظيفة ومتصلة بشكل صحيح.
- أخطاء المكتبة: تأكد من تثبيت مكتبة Adafruit MPR121.
خاتمة
لقد نجحت في ربط مستشعر اللمس السعة MPR121 مع Arduino. يفتح هذا المستشعر متعدد الاستخدامات إمكانيات لإنشاء مشاريع تفاعلية وحساسة. تجربة تصميمات وتكوينات قطبية مختلفة لتوسيع وظائفها!