知覚のひとつとして「触感」を搭載しました。体表面の好きな位置に金属箔を貼ることにより、触感を検出することができます。検出用の金属箔はオプションです。
◀ この記事の前に: 複数のMCUをつなぐ
▶ この記事の次に:
センサのしくみ
タッチセンサは、ESP32の静電容量式タッチ検出を使用しています。金属(導体)は人が触れたり近づいたりすると静電容量が増加します。この静電容量の変化を検出して人が触れたことを検出します。ESP32の対応するピン(ポート)の用途を「タッチ検出」にすることにより、他の外部部品を必要としないでタッチセンサを追加することができます。
タッチセンサの特徴
タッチセンサの特徴は以下のとおりです。
- 高感度: 非接触や軽い接触でも反応するため、タッチや近接入力として利用可能
- しきい値を設定可能: タッチ入力とみなす静電容量の変化量(しきい値)を自由に設定可能
- 自動校正機能: 環境条件(湿度や温度)の変化に合わせて、自動的にベースラインを調整可能
- 組み込みサポート: ファームウェアレベルで直接サポートされており、簡単に使用可能
注意点は以下のとおりです。
- ノイズの影響: 電源ノイズや環境ノイズによって誤検出が発生する場合がある
- 周囲条件の変化: 湿度や温度によって静電容量が変化するため、定期的な校正が必要
- 電極の設計: 電極サイズや形状が検出感度に影響( 大きい電極は感度が高くなり、小さい電極は局所的な検出が可能 )
ポートの割り当て
タッチセンサは ESP32( Peripheral MCU )の以下のピンに設定しています。
- TOUCH1: IO2( P-BOOT / ESP2の起動モード選択と兼用 )
- TOUCH2: IO0( WAKEUP-B / Body MCUのウエイクアップ信号と兼用 )
IO2は ESP32の起動時に動作モードを決定するピンのひとつです。タッチセンサは起動後に使用するため共用することができます。IO0は省電力制御のひとつである、Body MCUのスリープからの復帰(ウエイクアップ)を行う信号線です。動作目的により使い分けます。( タッチセンサ使用時は入力、ウエイクアップ信号線として使用時は出力になります。 )
金属箔の追加
Qumcum Lab. の体表面に貼る金属箔(センサ)はオプションです。用途に合わせて金属箔を貼り付けてコネクタ CN8に接続してください。コネクタは以下のとおりです。
コネクタ
- CN8: JST PHシリーズ / B2B-PH-K-S
- pin1: TOUCH1( IO0 )
pin2: TOUCH2( IO2 )
PHR2コネクタ付ケーブル
電線側( レセプタクル )は付属していません。必要に応じて入手と追加加工してください。ハウジングは以下のとおりです。
・ハウジング: JST PHR2
秋月電子通商などで購入できますが、別途ピンが必要になり圧着するための工具も必要となります。
コネクタ付ケーブルを使用すると便利です。以下で購入できます。
・PHR2コネクタ付ケーブル / 311-269 / 共立エレショプ
Design Considerations タッチセンサの使用例
タッチセンサは2系統ありますので左右の判別に使用することができます。右肩と左肩にセンサを設置することにより、Qumcum Lab.の肩に触れることにより左右に旋回(歩行)させたり、右手や左手を上げたりすることができます。高度な使用例としては学習の結果入力(目的関数)の入力にすることができます。
参考情報
参考になる情報は以下のとおりです。
このホームページ内
- 複数のMCUをつなぐ: このロボットには複数の MCUが搭載されています。その MCU間の接続の概要です。
他のWebサイト
- SN74LVC1G3157 SPDT アナログスイッチ Datasheet