iPhone アイデア スクリプト 健康

友達がいないから一人で100メートル走のタイムをざっくりと測れるスクリプトを作ってみた

学校に通っている頃は体育の授業や体力測定とかで100メートル走のタイムを測る機会があったりしますが、大人になってからはそんな機会も無く、「今100メートル何秒くらいで走れるのかしら?」と思いまして。

しかしながら、ストップウォッチを持ってタイムを測ってくれるような暇なお友達がいないので、スマホの加速度センサーとかGPS機能とか使って100メートルのタイムをセルフで測れるようなアプリとか無いかなーなんて探したんですけど、それらしきものも見つからず。

であれば自作してみようかなーってことで作ってみました。

やりたいこと

  1. スタートボタンを押すとカウントダウン開始
  2. 3秒前から音を鳴らし、銃声でスタート
  3. 100メートル走ったらそのタイムを計測

html+javascriptで制作することにした

ハイブリッドアプリ制作のmonacaで作ってみようかともおもったのですが、monacaの使い方もすっかり忘れてしまっていた(汗)

とりあえずiPhone の加速度センサーで移動距離を測定できないかと調べてみたのですが、どうも難しそう。

正確な100メートルタイムを測りたいわけではなく、ざっくりと100mくらいを何秒くらいで走れるかって程度でよかったので(学校とかでストップウォッチで測るのも多少誤差ありますし)、GPSの機能使ってざっくり100メートル測れればいいやってことで調べたところ、なんとなくできそう。

こちらのページを参考にさせていただきましてGPSの2点間の距離を計測っていうのを応用することにしました。
https://qiita.com/s-yoshiki/items/b0a6f2143db0e1a191e8

大体の流れはこんな感じ

  1. スタート地点の位置情報取得(https://kkblab.com/make/javascript/gps.htmlを参考にさせていただきました)
  2. タイマーを動かしながら移動した地点とスタート地点の間の距離を取得
  3. 前回計測地点とさらに移動した地点の距離を計測して加算
  4. 距離が100メートルを超えたらタイマーストップ
  5. 一応30秒経過時点でもタイマーストップ

というわけで作りました


ざっくり100m走

仕様に「スタート押したら10秒前からカウントダウン」というのを追加しまして。
あと、スタート押した瞬間に1回ビープ音が鳴りますが、スクリプト内からの呼び出しだけではiPhoneでは音がならず、clickイベントとかで一発鳴らせば、setIntervalとかでも音がなるようになるということで仕方なくこうしました。

テストで走ってみた結果

やっぱ距離測定の誤差がとんでもないときがありました。

ありえないタイムが出たり、100m走ってないのに終了しちゃったりと、いろいろ不具合あります。

ただ、テストのたびに100メートル何本も走るので、しんどいです。修正はぼちぼちということで。

script的には、setIntervalとかがずっと回りっぱなしっていうのもどうにかしたいんだけどなあ・・・あといろいろブサイクなコードになっているのもどうにかしたいんだけどなあ。。。

-iPhone, アイデア, スクリプト, 健康

Copyright© MDBloG , 2020 All Rights Reserved Powered by AFFINGER5.