はじめに
導電糸は通電性のある糸で、伸縮性のある素材に縫い付けると、伸縮時に電気抵抗値が変化します。この性質については以前から知っていましたが、実際に自分で扱ったことがなかったため、試してみることにしました。
なお、導電糸の縫い方による抵抗値の比較については、こちらの記事で検証しています。
リサーチ
導電糸をミシンでゴムバンドに縫い付け、縫い方による抵抗値の変化を計測しました。
複数のパターンで試した結果、私が持っているミシンで可能な縫い方の中で、最も抵抗値の変化が大きい方法を見つけました。
検証した縫製の一部
最も抵抗値の変化が大きかった縫い方
これは「伸縮強化縫い」という、伸縮性のある素材に使われる「伸縮縫い」の一種です。
この縫い方で縫ったゴムバンドの切れ端(約5cm)は、
通常時は15Ω、伸長時には25Ω程度まで抵抗値が変化しました。
なお、伸縮縫いを両端から2本渡したり、上下にジグザグに縫う方法も試しましたが、
効果はあまり見られませんでした。
実装
今回、この「伸縮」と「通電性」を活用して何か作れないかと考えました。その結果、伸縮回数をカウントできるトレーニングバンドを作ることにしました。
改めてゴムバンドに導電糸を縫い付け、最低限の検証が可能なトレーニングバンドを作成しました。
改めてゴムバンドに導電糸を縫い付けて最低限の検証ができるトレーニングバンドを作成しました。
縫い方が少し歪なのは、私の技術不足によるものです(涙)。
画像では、左上から右方向に縫い進め、再び左側の下へ戻るようにして横向きのU字形状になっています。この形状では、通常時400Ω、伸長時750Ω程度に抵抗値が変化しました。
M5StickC Plusを使用し、AnalogRead()
で抵抗値の変化を取得しました。通常時と伸長時の値が約1860付近で変動していたため、この値を閾値として採用しました。以下は超簡易なプログラムです。
#include "M5StickCPlus.h"
int ct = 0;
int preA = 0;
void setup() {
M5.begin();
Serial.begin(115200);
}
void loop() {
M5.update();
int a = analogRead(26);//32(G33)
//Serial.println(a);
if(a < 1860 && preA > 1860){
ct ++;
Serial.println(ct);
}
if ( M5.BtnA.wasPressed() ) {
Serial.println("Clear");
ct = 0;
}
preA = a;
delay(200);
}
実際に作成したデバイスの動作動画はこちらです。
伸縮のたびに、奥の画面で回数がカウントされていく様子が確認できると思います!
感想
最低限、動作するものが作れました。
この仕組みを応用して、例えば伸縮時の動きと静電容量を組み合わせた姿勢推定なども可能かもしれません。
今回の検証はここまでとします