LoginSignup
1
1

More than 3 years have passed since last update.

BLEのGATTサービス(FTMP/FTMS)を実装したmicro:bitと家庭用サイクルトレーナーでバーチャルライドを楽しもう

Posted at

はじめに

在宅勤務が増え、外出する頻度も少なくなり、運動不足が続いていませんか。そこで、BLEのGATTサービス(FTMP/FTMS)を実装したmicro:bitと家庭用サイクルトレーナーでバーチャルライドを楽しんでみませんか。

micro:bit mini bicycleをmicro:bitにインストールすると、マグネット負荷方式の家庭向けサイクルトレーナーの負荷を制御したり、クランクのセンサーから回転数や速度、パワーを算出したりすることが可能となります。また、micro:bitのBluetooth機能を使って、スマホなどと無線通信でき、スマホから、負荷の強度を変更できたり、スマホで回転数や速度、パワーを確認したりできます。さらには、Zwiftをはじめとした各社のバーチャルライドアプリ(サービス)も楽しむことができます。

補足:BBC micro:bit v1.5をターゲットとしています。

例:マグネット負荷方式の家庭向けサイクルトレーナー
Amazon: マグネティックバイクミニ (黄色)- 10588
Amazon: マグネティックバイクミニ (白色)- 9593

インストール方法

microbit-minibicycle.jpg

必要なもの

  1. micro:bit本体 (v1.5)
  2. 小型サーボモーター(MG90S等)
  3. マグネット負荷方式の家庭向けサイクルトレーナー
  4. 3Dプリンターで作成したパーツ(GitHubのリポジトリ)
  5. 工具、ネジ、配線部品等
  6. コンパイル済みのHEX形式ファイル(GitHubのリポジトリ

コンパイル済みのHEX形式ファイル

次のいずれかの方法で、HEXファイルを入手し、micro:bitに転送(コピー)します。

  1. githubからコンパイル済みのHEXファイルをダウンロードする
  2. mbed オンライン コンパイラで、プログラムをインポートし、コンパイルする

入手方法1 - githubからコンパイル済みのHEXファイルをダウンロードする

次のリンクからHEX形式ファイルをダウンロードし、micro:bitへ転送(コピー)します。
microbit-minibicycle.hex

入手方法2 - mbed オンライン コンパイラで、プログラムをインポートし、コンパイルする

  1. Mbed オンライン コンパイラを開きます
    https://ide.mbed.com/compiler/
  2. プログラムをインポートします
    https://github.com/jp-96/microbit-minibicycle.git
  3. コンパイルを実行し、コンパイルに成功すると、HEX形式ファイルがダウンロードされます
  4. ダウンロードしたHEX形式ファイルをmicro:bitへ転送(コピー)します

接続方法

小型サーボモーターをmicro:bitのP1端子へ、センサー信号をmicro:bitのP2端子へそれぞれ接続します。
配線方法については、手書きの回路図を参考にしてください。

手書きの回路図.jpg

使い方

micro:bitのAボタンとBボタンで、負荷を1から8まで変更できます。
スマホの汎用BLEアプリで、BIKEMINI:BITに接続すると、回転数や速度、パワーを確認したり、スマホから、負荷の強度を変更できたりします。

汎用BLEアプリ

バーチャルライド

いくつかのバーチャルライドアプリも対応していますので、試してみてください。

開発資料

リンク

  1. 家庭用サイクルトレーナーにmicro:bitをつなぐ(その1)
    ワイヤレス運動測量計から出力されるクランク回転センサーの信号をモニターする
  2. 家庭用サイクルトレーナーにmicro:bitをつなぐ(その2)
    STEP信号からワイヤレス運動測量計に表示されているスピードをmicro:bitで推定する
  3. 家庭用サイクルトレーナーにmicro:bitをつなぐ(その3)
    STEP信号からケイデンスとスピードを求めるモジュールをドライバー(アイドル・コンポーネント)として作成する
  4. 家庭用サイクルトレーナーにmicro:bitをつなぐ(その4)
    スマホ・アプリでケイデンスやスピードを表示できるようにBLEのGATTサービス(FTMP/FTMS)を実装する
  5. 【最終回】家庭用サイクルトレーナーにmicro:bitをつなぐ(その5)
    BLEのGATTサービス(FTMP/FTMS)で推定パワーをサポートする

モジュールの構成 - シーケンス図

開発当初のシーケンス図をメモとして残しておきます。実装とは異なっています。

当初のシーケンス図.jpg

ソースコード - GitHub

https://github.com/jp-96/microbit-minibicycle

おわりに

micro:bitを組み合わせることにより、家庭用サイクルトレーナーでも、気軽にバーチャルライドを楽しめます。
パワー計算や負荷強度は、プログラミング可能ですので、バーチャルライドもプログラミングの楽しんでください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1