micro:bit に 導電布をつなげてみる


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/

キット内容

![IMG_0789a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242072/5e8ea03a-7955-f8a1-8feb-a93f4815ccf3.png)

このうちの、導電布、フレキシブル基板、スナップボタンを使います。


# 導電性布

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5e8e6f0b-5d5f-a6ef-f1bc-fbdaaaafc466.png)



nüno ver.2 TINYキットではデニムっぽい生地なのですが、以前のキットでは上記のようにシマシマの生地でした。シマシマに沿って導電性部分が配置されていて、縦シマシマをタッチしたり、横切るアクションが取れるようになります。

今回使うデニムっぽい生地も、8 チャンネルの導電性バンドがあり、1次元のデータが取得できます。

# micro:bit の タッチセンサー

アナログポートの値として取得します。

アナログポートは P0,P1,P2がエッジ部分の丸穴端子にあります。
![IMG_20210313_162920329.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1d0b4dc8-ee35-ba48-09ef-4699a096312f.jpeg)

ここに触ると反応が出るようになるのですが、ここに導電性布を接続します。



# 配線

![IMG_20210313_164917876.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/546171de-6b88-ded6-7788-d43a832ab769.jpeg)

nüno ver.2 TINYキットでは、ホックを使って接続します。ここでは、ホックにビニール線をねじり留めしました。


![IMG_20210313_164936047.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/27ca0bb4-64c6-df49-823c-ac28d30445be.jpeg)

nüno ver.2 TINYキット の布は 8チャンネル使えますが、 P0,P1,P2 に対応するので3チャンネル分配線しました。

![IMG_20210313_163236738.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d69255de-7a29-1230-8865-84d3ae34b7d6.jpeg)
micro:bit 側も同様にねじり留めします。


![IMG_20210313_163211756.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9e64098f-98fd-96da-cb80-82ba6760d686.jpeg)

全体図です。
![IMG_20210313_163138374.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d6d46b31-c1d7-ee1f-4c5e-655550e1d041.jpeg)


# コード

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/92712e7f-cca8-fbe7-e752-e63d65c0ff41.png)

まずは机上でテスト。

Arduino のIDEから、シリアルモニターで流れてくるデータを確認します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ec8e568a-646a-9c96-2f9a-c2293edaf79e.png)

このような、CSV形式のデータだとシリアルプロッタで表示できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d571008f-68cd-d48a-9bfb-29d0c97a027a.png)

データが来ているので、触ってみます。
![IMG_20210313_163240353.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/478840a5-8204-db54-2a87-76a171f3b75e.jpeg)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/99ddb4a5-a3cf-0852-f8a7-a661a697a40e.png)
うーん、反応がないことはないけど、全然ダメ・・・

裏返してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d2fad073-d4b6-39f3-8f8c-c2fed0263a03.png)


![IMG_20210313_163252912.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/009641fd-195d-95b9-9a83-a7a53c5d5a74.jpeg)

顕著に取れてますね！



# ウェアラブル状態

腕に乗せて使えるかどうか試してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/20954bfd-d7ac-b39d-59e7-78f45d0cc919.png)
スワイプしたところです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7bd59295-76c1-086f-e95c-c1d6b7fded7a.png)
タップしたところです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/628e2f92-07a0-a2e9-7f77-8ff881f757bc.png)
ダブルタップが取れてますが、スパイク形状にゆらぎがありますね。


ピンチしたところです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/026a4cc2-fb90-99be-e544-072a27d10407.png)

青の反応が悪いですね。ソフト処理でピンチ取れるかどうかはチャレンジですかね。



# 考察

元々の nuno キットは、静電容量センサを使っています。
静電容量センサだと表面・裏面の差は今回のものほどありませんが、micro:bit では表と裏で顕著な違いがありました。

恐らく micro:bit はアナログ電位を見ているだけなので、導通を取得しているような形になります。

なお、元々の micro:bit の導通センサーはGNDとアナログポートを両手で持つ形式なのした。GNDを接続せずにできるかな・・・と想いましたがうまくいきました。

ただし実験環境でかなり変動がありそうです。継続して実験してデータを取っていきたいです。

また、取得したデータは波が乗っています。拡大すると・・・

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1984428b-0f5c-801f-1ccd-27dea9bc3e56.png)

10秒で250サンプル、50程度の波があります。これは交流電源のハムノイズと考えられます。ローパスフィルターなどをうまく入れたほうがいいかもですね。



# 発展



これを活用して、以下のようなことにチャレンジできるかも知れません。

- おむつ
- スマホ入力
- おねしょ検出
- 痴漢対策デバイス
https://qiita.com/nanbuwks/items/4770899a290309600f87


micro:bit は Bluetooth でスマホへ接続することができるので、スマホ連携のプロトタイプを作成していきたいですね。

また、今回は 3チャンネル でデータを取りました。これは  micro:bit のタッチセンサとなっている丸ホール端子が P0,P1,P2 の3つということからですが、丸ホール以外の端子として P3,P4があります。これを使うと 5チャンネルのデータが取れるようになり、応用の幅が広がります。