第3回転 Arduinoで遊ぼう・表示するものを増やそうの回だよ
かんらだよ
サイコン2回目です。ワットとパワーウェイトレシオを表示させます。
今回はあんまりArduino側はいじらないですね。
計算とプログラミングのみです。
PWRについての説明
まず、PWR(パワーウェイトレシオ)とはなんだ、ということですね。
記事冒頭に「(ワットと)パワーウェイトレシオを表示する」と書きましたが、今回表示させるのは正確には「瞬間のパワーウェイトレシオ」です。
本来の意味でのパワーウェイトレシオは
ここに書いてあるように、
FTP÷体重=パワーウエイトレシオ(W/kg)
で求めるものです。
FTPは、1時間めっちゃがんばって漕いだ時に持続できるパワー(W)のことです。
これは実際に1時間漕いで測ったり、これまでのライドから算出してくれたりする性能の良いサイコン(知らんけどあるらしい)とかで出せます。
でも、ちょーーーーーーーしんどいのでやりたくないし、とりあえず「自分がいま、どれくらいの力で踏めているのか」を知りたいので今回はこれを瞬間の値として出していきます。
ZWIFTとかROUVYとかでも名前の下とかに表示されてますね。アレです。
やったことないけど
ワット編
まずはワットです。
僕はパワーメーターは持ってないです。
じゃ、パワー測れないじゃ~~~~~~~~~~~~~~~~~~~~ん
ってなるんですが、僕の持ってる固定ローラー台「MINOURA LR960」君にはパフォーマンスデータというものがあります。
この子には手元で調節できるダイヤルがついててそれを回すことで負荷を調節できます。
L(1)からH(13)までの負荷が調節できます。
この負荷の数字と時速を、上の表と照らし合わせるとパワーが求められます。
Switch文使って「この負荷でこの速度だから何W、今ちょっと速度上がったから何W」とかやってもいいんですが、全然スマートじゃないので一回関数に直します。
はい、グラフの右肩に乗ってるy=~のやつがそうです。
やり方としてはExcelに表をぶち込んでいい感じにグラフを作成して一番近い近似曲線を表示!みたいな感じです。
このグラフが負荷1のときのものなのでこれを13個分集めます。
そしたらこれをコードに書き加えて、xのとこを速度にすれば、
完成です。もっといいやり方あったら教えてください。助けて。
速度・負荷を引数、ワットを返り値として画面に表示させるコードに渡します。
ワット編終了!!!!!!!!
PWR編
ワットが出せてしまえばもうPWRなんか割り算一つなんで一瞬です。
最初に載せたように、
W÷体重=パワーウエイトレシオ(W/kg)
なので、さっき出したWを体重で割ります。
終了。
表示編
上の1文だけloopの中です。
まあ、引数で表示させたいの渡して関数で表示させるだけですね。
速度、ホイール1周分の時間、ワット、PWRです。
この他に負荷が表示されますが、これは入力されたときにすぐ返してほしいのでloopの方に載せました。
終了!
次は起動!!!!
実際に漕いでみよう編
5って出てるのが負荷
— 艦楽(⊿Δδ) (@Kanra_6236) 2020年4月28日
その下から順番に
ホイール1回転にかかった時間(ms)
速度(km/h)
ワット(W)
瞬間パワーウェイトレシオ(W/kg) pic.twitter.com/d9fXFsr64n
これです。
漕いでるときWが見えるとちょっとだけテンション上がりますね。
この前のデジタルスイス、PWR=7とか出てたけどプロ選手どうなっとんねん。
次は特に考えてないですが、なんかやります。
頑張ろう!!!!!!
以上
艦楽(⊿Δδ)