4.3 電極キーボード¶
プロジェクトに多数のタッチスイッチを追加したい場合、MPR121は良い選択です。このモジュールには導体で拡張できる電極があります。 例えば、電極をバナナに接続すると、そのバナナをタッチスイッチに変えることができます。
必要な部品
このプロジェクトには、以下の部品が必要です。
全てを一つのキットで購入するのも便利です、リンクはこちら:
名前 |
このキットに含まれるアイテム |
リンク |
---|---|---|
ケプラーキット |
450以上 |
もちろん、以下のリンクから個々の部品を購入することもできます。
項番 |
部品 |
数量 |
リンク |
---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1 |
回路図
配線
コード
注釈
kepler-kit-main/micropython
パス下の4.3_electrode_keyboard.py
ファイルを開くか、このコードをThonnyにコピーして、「Run Current Script」をクリックするか、単にF5キーを押して実行してください。画面の右下隅にある "MicroPython (Raspberry Pi Pico)" インタープリタをクリックするのを忘れないでください。
詳細なチュートリアルは、 コードを直接開いて実行する を参照してください。
このプロジェクトでは
mpr121.py
というライブラリが必要です。Pico Wにアップロードされているか確認してください。詳細なチュートリアルは 1.4 Picoにライブラリをアップロード を参照してください。
from mpr121 import MPR121
from machine import Pin, I2C
import time
i2c = I2C(1, sda=Pin(6), scl=Pin(7))
mpr = MPR121(i2c)
# すべてのキーを確認
while True:
value = mpr.get_all_states()
if len(value) != 0:
print(value)
time.sleep_ms(100)
プログラムが動作すると、MPR121の12個の電極に手を触れると、触れた電極が表示されます。
電極を他の導体、例えばフルーツやワイヤー、箔などに拡張して接続することで、これらの電極をトリガーするさまざまな方法が増えます。
仕組みは?
mpr121ライブラリには、 MPR121
クラスに機能が統合されています。
from mpr121 import MPR121
MPR121はI2Cモジュールであり、 MPR121
オブジェクトを初期化するためにI2Cピンのセットを定義する必要があります。この時点で、モジュールの電極の状態が初期値として記録されます。電極が拡張されている場合、初期値をリセットするために例を再実行する必要があります。
from machine import Pin, I2C
i2c = I2C(1, sda=Pin(6), scl=Pin(7))
mpr = MPR121(i2c)
その後、 mpr.get_all_states()
を使用して電極がトリガーされたかどうかを読み取ります。もし電極2と3がトリガーされた場合、値 [2, 3]
が生成されます。
while True:
value = mpr.get_all_states()
if len(value) != 0:
print(value)
time.sleep_ms(100)
特定の電極を検出するために mpr.is_touched(electrode)
も使用できます。トリガーされた場合、 True
を返し、そうでない場合は False
を返します。
while True:
value = mpr.is_touched(0)
print(value)
time.sleep_ms(100)