ArduinoでMPR121容量性タッチセンサーの使用方法

How to Use the MPR121 Capacitive Touch Sensor with Arduino

MPR121は、最大12個のタッチ感受性電極を検出できる容量性タッチセンサーコントローラーです。これは、タッチに敏感なインターフェイス、楽器、その他のインタラクティブなプロジェクトで一般的に使用されています。このチュートリアルでは、Arduinoを使用してMPR121を接続して使用してタッチベースのアプリケーションを作成する方法を紹介します。


あなたが必要とするもの

  1. MPR121タッチセンサーモジュール
  2. Arduino委員会(例:UNO、MEGA、NANO)
  3. ブレッドボードとジャンパーワイヤ
  4. 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ライブラリは、センサーの操作を簡素化します。

インストールする手順:

  1. Arduino IDEを開きます。
  2. 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
  3. 「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:セットアップをテストします

  1. USBを介してArduinoをコンピューターに接続します。
  2. Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
  3. クリックしてコードをArduinoにアップロードします アップロード.
  4. シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します 9600.
  5. MPR121モジュールの電極をタッチし、検出されたタッチ入力についてシリアルモニターを観察します。

オプション:割り込みにIRQピンを使用します

IRQピンを使用して、タッチが検出されたときに割り込みをトリガーすることができ、センサーを絶えず投票する必要性が低下します。

  1. 接続します IRQ ArduinoのデジタルピンへのMPR121のピン(例:ピン2)。
  2. コードを変更して、割り込みサービスルーチン(ISR)で割り込みを添付し、タッチ検出を処理します。

MPR121のアプリケーション

  1. 容量性タッチインターフェイス
  2. 楽器
  3. インタラクティブなアートインスタレーション
  4. ジェスチャーベースのコントロール

トラブルシューティング

  • センサーからの応答はありません: I2C接続とアドレスを確認します。
  • 一貫性のないタッチ検出: 電極がきれいで適切に接続されていることを確認してください。
  • ライブラリエラー: Adafruit MPR121ライブラリがインストールされていることを確認してください。

結論

MPR121容量性タッチセンサーとArduinoをインターフェースすることに成功しました。この汎用性の高いセンサーは、インタラクティブでタッチに敏感なプロジェクトを作成する可能性を開きます。さまざまな電極設計と構成を試して、その機能を拡大してください!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.