Arduino / Genuino 101に内蔵されている6軸センサーをリアルタイムでモニタリングするビュアーをProcessingで作成しました。
昨日作り始めたのですが、調子に乗って一気に作り上げました。細かいところは微修正を加えるつもりですが、一旦は完了です。
▼画面はこんな感じです▼
Arduino/Genuino101からの6軸センサーの値をそれぞれビジュアル表示しています。
roll/pitch/yaw は上部の円表示で角度をリアルタイムに表現しています。加速度センサー及びジャイロスコープからの加速度値、角速度値及びそこから積算した角度の数値は右上で数値をそのまま表示。
また、角度、角速度、加速度はリアルタイムでグラフ表示もできるようにしてます。ジャイログラフの縦軸のレンジが少し大きかったです。縦軸はそのうち、数値の大きさに合わせて、自動でレンジを調整できるようにするつもりです。
とりあえずはこんな感じでProcessing側は一旦完了です。
少し見難いですが動画です。
z軸の加速度値が1.0Gのときに単純にroll/pitch角を0にして無理やりにドリフトをリセットしてます。そのため少し動きがおかしいです。
モニター画面はだいたいこれで満足したので、これから6軸センサーのドリフト補正を行っていきたいと思います。難関です。
▼ドリフト補正もいろいろ試してみました▼
コメント
興味深い内容で大変勉強になります。初心者ですが、質問をさせてください。
私もArduinoと6軸加速度センサ(MPU6050)を使って、Processingで挙動を可視化したいのですが、センサを通した物体の動きは外部のサイトを頼りにして何とか表現できるようになったものの、記事にあるようなリアルタイムのグラフ表示がうまくできません。漠然とした質問で恐縮ですが、シリアル通信のデータをリアルタイムにグラフ描画するProcessingのコードについて手助けになるような情報がありましたら、何卒ご教示ください。
勉強中さん、コメント有難う御座います。Processingでのリアルタイムグラフ描画については、こちらでソースを紹介してます。
https://garchiving.com/real-time-graph-by-proccesing/
宜しければ参考にして下さい。