Skip to content

I2C_MPR121

Ko-ichiro Sugiyama edited this page Jan 8, 2026 · 2 revisions

https://www.seeedstudio.com/Grove-12-Key-Capacitive-I2C-Touch-Sensor-V3-MPR121-p-4694.html

測定量

  • どの電極に触れたかを判定 (静電容量式)

サンプル

i2c = I2C.new()

# 感度を高めに設定して初期化
mpr = MPR121.new(i2c)

loop do
  if mpr.read

    # 全体のビットマスクを表示
    # puts "Touched mask: #{mpr.touched_mask.to_s(2)}"

    [0, 1, 2, 3, 8, 9, 10, 11].each do |i|
      if mpr.touched?(i)
        puts "Pin #{i} is Touched!"
      end
    end

  end
  sleep 0.1
end

設定

touch_level: と release_level: を設定可能.それぞれの値と意味は以下の通り.デフォルトは :medium

レベル Touch (touch_level:) Release (release_level:) 主な用途・環境
:high 6 〜 10 3 〜 5 高感度。 カバー越し(1-2mm程度のアクリルなど)や、感度の悪い小さな電極、近接センサ(手を近づけるだけ)として使う場合。
:medium 12 〜 20 6 〜 10 標準。 電極に直接(または薄いシール越しに)指で触れるボタン。誤動作が少なく、最も安定する。
:low 25 〜 40 12 〜 20 低感度。 誤動作を防ぎたい場合。電極が非常に大きい場合や、ノイズの多い環境、長い配線を使用している場合。

Clone this wiki locally