MPR121は、最大12個のタッチ感受性電極を検出できる容量性タッチセンサーコントローラーです。これは、タッチに敏感なインターフェイス、楽器、その他のインタラクティブなプロジェクトで一般的に使用されています。このチュートリアルでは、Arduinoを使用してMPR121を接続して使用してタッチベースのアプリケーションを作成する方法を紹介します。
あなたが必要とするもの
- MPR121タッチセンサーモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- ブレッドボードとジャンパーワイヤ
- Arduino IDEがインストールされたコンピューター
ステップ1:MPR121モジュールの理解
MPR121はI2C通信を使用して、マイクロコントローラーとインターフェースします。導電性オブジェクト(指など)が電極の近くにあるときに容量性変化を検出できる12のタッチ感受性入力があります。
MPR121ピンアウト
ピン | 関数 |
---|---|
VCC | 電源(3.3V/5V) |
GND | 地面 |
SDA | I2Cデータライン |
SCL | I2Cクロックライン |
IRQ | 割り込み出力(オプション) |
ステップ2:MPR121をArduinoに配線します
MPR121をArduino UNOに接続する方法は次のとおりです。
MPR121ピン | Arduino Pin |
---|---|
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:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをArduinoにアップロードします アップロード.
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - MPR121モジュールの電極をタッチし、検出されたタッチ入力についてシリアルモニターを観察します。
オプション:割り込みにIRQピンを使用します
IRQピンを使用して、タッチが検出されたときに割り込みをトリガーすることができ、センサーを絶えず投票する必要性が低下します。
- 接続します
IRQ
ArduinoのデジタルピンへのMPR121のピン(例:ピン2)。 - コードを変更して、割り込みサービスルーチン(ISR)で割り込みを添付し、タッチ検出を処理します。
MPR121のアプリケーション
- 容量性タッチインターフェイス
- 楽器
- インタラクティブなアートインスタレーション
- ジェスチャーベースのコントロール
トラブルシューティング
- センサーからの応答はありません: I2C接続とアドレスを確認します。
- 一貫性のないタッチ検出: 電極がきれいで適切に接続されていることを確認してください。
- ライブラリエラー: Adafruit MPR121ライブラリがインストールされていることを確認してください。
結論
MPR121容量性タッチセンサーとArduinoをインターフェースすることに成功しました。この汎用性の高いセンサーは、インタラクティブでタッチに敏感なプロジェクトを作成する可能性を開きます。さまざまな電極設計と構成を試して、その機能を拡大してください!