n_shinichi’s blog

日々の備忘録、 趣味のあれこれなど紹介

MENU

スマホの傾きで M5stickくんの操縦検討・・・ BLEリモコン

Blynkを使うとスマホの状態等々をBLEでマイコンなど、

M5にも送受信できる。

 

これまでBlynkで リモコン? ラジコン? で

M5stickくんを操縦できるようにしてみた。。。けど

 いまいちだった... の覚え。

 

せっかくスマホのIMU、Gセンサ値なんかも送信できるので

操作の理屈をほとんどすることなくほぼ説明不要で

誰でも小さな子供でも楽しみながらリモートコントロールとか

できるんじゃないか・・・

直感で操縦する感じにしたらゲーム的に使えるんじゃなかろうかと思い

ちょっと試してみた。

 

ひとまず信号は V10 に設定

 

スマホのBlynk設定はこれだけ。とっても簡単...

パラメータも信号番号 V10 と サンプリング時間設定だけ。

 

Gセンサの値は±10の範囲で送信されてくる。
顔の上の数値、

X値が左右の傾き値 右に向けると+

Y値が前後の傾き値 手前に向けるとー 奥、向こうへ傾けると+

www.youtube.com

で、、、この時点では、

スマホの傾きでリモートコントロール行けると思った。

 

その値で動かすよう実装してみたら・・・・

全く倒立ができない!!!

 

よくよく通信の時間を調べたら、

Gの取得、Blink_write関数が異常に時間がかかってる!

一定ではなくてバラつくけど0.1秒程度はある。

 

さすがにそんなに長い時間倒立制御が止まってると立ってられない・・・

 

ほかのスライダや、ボタン、ジョイスティック入力とかはmsオーダーで

値が取得できるのに不思議。

ネットで調べても通信データ取得時間についてはよくわからんかったので

深みにはまりそうなので中止。。。

 

もちろん、、、これは倒立振子みたいにリアルタイムで制御が必要な場合だけで

 ふつう?のリモコンカーみたいなのを作るにはほぼ影響ないです。

 

M5stickくんの場合、制御周期は遅くして辛抱できるのは

 だいたい50Hzくらいまで。ロバスト性はだいぶ悪くなってくるけど。

 

それでも、背の高い30cmくらいの倒立ロボならだいぶ制御周期落とせるので

 いけるかもしれない。