-
Notifications
You must be signed in to change notification settings - Fork 0
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
endtouch_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 | 低感度。 誤動作を防ぎたい場合。電極が非常に大きい場合や、ノイズの多い環境、長い配線を使用している場合。 |