BLEAD-TSHで遊ぼう!【作例集 筋トレカウンター編】

【2020年2月追記】※本文内で紹介している BLEAD-TSH は 現在販売停止しております。各種センサーとビーコンを組み合わせたソリューションをご希望の場合は、個別ににお問合せ下さい。
暑さで溶けてるなーさんです。
作例集の第二弾は筋トレ用カウンター(フィットネスカウンター)です。
暑さに勝つには鍛えるしかありません!ということで早速ごしょうかい〜

下記は2019年7月現在の情報で執筆しています。
文中、画像中で使用されている商標等はそれぞれの企業、団体に帰属します。

筋トレカウンター

腹筋やスクワット、ダンベルなど回数を数えながら行う筋トレメニューは、たくさんあります。
自分で数えながらトレーニングをするのは、頭と体を同時に動かす意味ではとても大事なことですが、それはそれとして、カウントは誰かに任せて、筋トレに専念したい人もいるかと思います。
今のスマホには加速度センサがあるので、体に装着して運動できないこともないですが、重いですし、汗の心配や落下の心配もあります。
そこでスマホのかわりにBLEAD-TSHを装着すれば、スマホは机に置いたままで安心してトレーニングできるわけです。

BLEAD-TSHの装着


今回はダンベルに装着して試してみました。
その昔、勢いでダンベルを買って、1ヶ月後には捨てるにも困るゴミにしてしまったことがあるなーさんは、この記事を書くにあたって木工細工をして作ったダンベルで代用しました。材料はもちろん東急ハンズ!
ダンベルのできるだけ平たい箇所にテープ留めしたり、バンドでしばって固定してください。手首や腕に装着する場合は、TSHに汗や水分がかかりにくくなる工夫をしてください。例えばリストバンドに忍ばせるなどの方法があるかと思います。木工ダンベルでは、写真のように横に雑にセロテープで止めました。
コツは、カウントは全てアプリ側で行うので、カウントアルゴリズムや運動の動く方向によってTSHの装着の場所や仕方を変えることです。上下運動や垂直運動よりは、ダンベルやスクワットのような折り曲げ動作のほうが、TSHの3軸の加速度の変化がわかりやすいので、カウントしやすいでしょう。
常にTSHの装着方向を固定してしまい、加速度を読み取る軸を限定してしまうのもいいかもしれません。
約1秒に1回、加速度値がアップデートされて発信されるので、最短で1往復2秒程度の動きならカウントできます。

アプリ

TSHのアドバタイズを受信したら、加速度を取り出して、ごにょごにょと計算してカウントしています。TSHの取り付け向きにこだわらないアルゴリズムを目指したので、下向きの軸を探したりなどけっこう大変です。
運動中の適切なカウントと静止中の誤カウント除去の2つを両立させないといけません。なーさんは、あれこれチューニングしすぎて「一番最初のシンプルなのが一番安定してた〜」ってなりました。
カウント機能と読み上げ機能の他に目標回数設定などができるようにしてあります。
また、iOSの仕様で時間が経つと徐々にBLEスキャンの頻度が下がるので、ときどきスキャンを再起動しています。

筋トレ アプリのスクリーンショット

目標を達成するとやる気なく褒めてくれます。
カウントが早いんじゃない?みたいなところもあってカウントアルゴリズムの煮詰めがまだまだ必要ですが、おおむね良好に動いていると思います。

感想

せっかくつくったので毎日使ってます。一往復したあとでカウントが読み上げられるのに最初違和感がありましたが、なれてくると気になりません。筋トレに集中できるようになりました。
音楽再生機能や毎日の記録機能も欲しいかも?と思い始めました。

おわりに

今回はBLEAD-TSHを使って筋トレカウンターをつくってみました。
毎日の筋トレ日記アプリをつくったり、体操教室などで複数人のデータを1台で収集して管理するなんてことにも応用できそうです。

関連記事

  1. 知識ゼロで Unity をはじめてみた【その5 -Android 端末…

  2. ASP.NET MVC で Wijmo を使う – 2

  3. 「そもそもBLEって何?」Bluetoothの技術概要

  4. 何でこうなるの? 現場で起きた開発回顧録【その1 Ajaxと画面更新】…

  5. 基礎から学べる連載記事!「Bluetooth」「WPF Prism」「…

  6. 2020年に公開したテクノロジー記事 【6選】