micro:bit にはタッチセンサー機能があります。このタッチセンサーに導電性布をつなげてみました。
環境
- micro:bit v1.5
- Arduino IDE 1.8.13
- Ubuntu Linux 20.04
- nüno ver.2 TINYキット
nüno ver.2 TINYキット
導電性布として、nüno ver.2 TINYキットを使いました。
「nüno ver.2 TINYキットを使ってみよう」
https://qiita.com/tendots/items/95f4f618c302f1c73fff
「nüno Ver.2 TINYキット サポートページ」
http://newno.info/newno-tinykit/
キット内容
このうちの、導電布、フレキシブル基板、スナップボタンを使います。
導電性布
nüno ver.2 TINYキットではデニムっぽい生地なのですが、以前のキットでは上記のようにシマシマの生地でした。シマシマに沿って導電性部分が配置されていて、縦シマシマをタッチしたり、横切るアクションが取れるようになります。
今回使うデニムっぽい生地も、8 チャンネルの導電性バンドがあり、1次元のデータが取得できます。
micro:bit の タッチセンサー
アナログポートの値として取得します。
アナログポートは P0,P1,P2がエッジ部分の丸穴端子にあります。
ここに触ると反応が出るようになるのですが、ここに導電性布を接続します。
配線
nüno ver.2 TINYキットでは、ホックを使って接続します。ここでは、ホックにビニール線をねじり留めしました。
nüno ver.2 TINYキット の布は 8チャンネル使えますが、 P0,P1,P2 に対応するので3チャンネル分配線しました。
コード
まずは机上でテスト。
Arduino のIDEから、シリアルモニターで流れてくるデータを確認します。
このような、CSV形式のデータだとシリアルプロッタで表示できます。
データが来ているので、触ってみます。
うーん、反応がないことはないけど、全然ダメ・・・
顕著に取れてますね!
ウェアラブル状態
腕に乗せて使えるかどうか試してみました。
タップしたところです。
ダブルタップが取れてますが、スパイク形状にゆらぎがありますね。
青の反応が悪いですね。ソフト処理でピンチ取れるかどうかはチャレンジですかね。
考察
元々の nuno キットは、静電容量センサを使っています。
静電容量センサだと表面・裏面の差は今回のものほどありませんが、micro:bit では表と裏で顕著な違いがありました。
恐らく micro:bit はアナログ電位を見ているだけなので、導通を取得しているような形になります。
なお、元々の micro:bit の導通センサーはGNDとアナログポートを両手で持つ形式なのした。GNDを接続せずにできるかな・・・と想いましたがうまくいきました。
ただし実験環境でかなり変動がありそうです。継続して実験してデータを取っていきたいです。
また、取得したデータは波が乗っています。拡大すると・・・
10秒で250サンプル、50程度の波があります。これは交流電源のハムノイズと考えられます。ローパスフィルターなどをうまく入れたほうがいいかもですね。
発展
これを活用して、以下のようなことにチャレンジできるかも知れません。
- おむつ
- スマホ入力
- おねしょ検出
- 痴漢対策デバイス
https://qiita.com/nanbuwks/items/4770899a290309600f87
micro:bit は Bluetooth でスマホへ接続することができるので、スマホ連携のプロトタイプを作成していきたいですね。
また、今回は 3チャンネル でデータを取りました。これは micro:bit のタッチセンサとなっている丸ホール端子が P0,P1,P2 の3つということからですが、丸ホール以外の端子として P3,P4があります。これを使うと 5チャンネルのデータが取れるようになり、応用の幅が広がります。