【新型コロナガジェット】M5StickでFaceTouchAlert作る_1<無意識に触る感染を防止>

コロナ感染長期戦になりそうなので、信州MAKERSのテーマとして感染予防ガジェットを考えはじめました。手持ちのデバイスで手軽にできそうなものからトライします。

①M5Stickの6軸センサで腕の角度を検出して、
「手で顔を触る機会を検出してアラートをだす」

これは、普段から顔に触らないようの気遣っていて、几帳面な方には不要ですが、私のような老人とか子供さんだと無意識のうちに手で顔を触る機会が多いのではないかと自分自身をみてそう思ってます。自分が顔を触るのを防止するガジェットということで作ってみました。M5Stickさえあれば半日でできます。最新動画をどうぞ

最終試作

 

初期試作


リストバンドが付属しているので何も工作しないでそのまま使えます。
購入はスイッチサイエンスさんです。ブザーがついてなかったので、スピーカーを発注してます。
今日のところは、アラートをPC画面で確認する実験までできました。
スピーカーが届いたところで、さまざまな音を鳴らしてアラートを楽しく作ります。

 

➁原理
  6軸の加速度センサが内蔵されているので、AX、AY,AZから重力加速度方向基準に3個の角度を計算して3つの角度の値の組み合わせから腕の姿勢を検出して、顔に手のひらが触れる動作を検出した時にアラートをだします。
M5Stickのプログラムは、ArduinoIDEで作ります。
ArduinoIDEの設定は、公式ページ M5Stickクイックスタートをご覧ください。

参考にさせていただいた加速度センサ読み取りサンプルプログラムの提供されている方に感謝申し上げます。

M5StickCであそぶ 〜6軸センサを使う〜

 このプログラムに、角度計算と姿勢判別する数行を追加するだけです。

 

if(disp_mode == MODE_A){
// 取得した値を表示する
M5.Lcd.setCursor(0, 30);
M5.Lcd.printf(“Acc : %.2f %.2f %.2f “, accX_mpss, accY_mpss, accZ_mpss);
M5.Lcd.setCursor(0, 45);
M5.Lcd.printf(“Gyro: %.2f %.2f %.2f “, gyroX_dps, gyroY_dps, gyroZ_dps);
//*******************信州MAKERS  FaceTouch Alert追加行****************************
//====================================================================================
//===================================CHANGE for FaceTouch Alert =======================
//=====================================================================================angleYX=atan2(accY_mpss,accX_mpss)/PI*180;
angleYZ=atan2(accY_mpss,accZ_mpss)/PI*180;
angleZX=atan2(accZ_mpss,accX_mpss)/PI*180;
//Serial.printf(“%.3f,%.3f,%.3f,%3.3f,%3.3f,%3.3f\n\r”,accX_mpss, accY_mpss, accZ_mpss,angleYX,angleYZ,angleZX);
Serial.printf(“%3.0f,%3.0f,%3.0f,\n\r”,angleYX,angleYZ,angleZX);
if(angleYX>100 && angleYX<150 && angleYZ<80 && angleYZ>39 && angleZX>100 )
{
Serial.printf(“*************************************************************************\n\r”);
Serial.printf(“****************************FaceTouchALERT*******************************\n\r”);
Serial.printf(“*************************************************************************\n\r”);
}
//******************************************************************

姿勢の検知部分ですが
if(angleYX>100 && angleYX<150 && angleYZ<80 && angleYZ>39 && angleZX>100 )

としてありますが、これは、自分の癖に合わせて微調整します。

➁基礎実験の記録

●以後
 スピーカーが到着してから、完成させて、最終ブログとYOUTUBEにして最終公開します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です