チャレンジプログラム
GR-SAKURA
GR-KURUMI
SNShield
Web Compiler
IDE for GR
その他
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
2015/11/22更新:ライブラリデバッグ、AHRS拡張例動画追加。Processingプログラム更新。
I2Cインターフェースのセンサー
をひとまとめにした海外で売っている10軸センサーキットGY-80のためのライブラリです。
GY-80でなくても、上記センサーに合致していてI2Cインターフェースであれば、それぞれを単品としても使用可能です。
たとえば秋月の「BMP085使用気圧センサモジュール(I2Cインタフェース)」とか
「HMC5883L コンパスモジュール(3軸地磁気センサ)」とかもこのライブラリで使用可能です。
ちなみにGY-80はaitendoで名前を変えて「マルチ機能センサー [ATD-M4S]」として売られています。
それぞれのセンサーの値はインスタンスの中の構造体で管理し、get~~というメソッドで値を更新していくような内容になっています。
実際に使用する時はget~~で値を更新してから、それぞれの構造体の値を見にいくことで値を取得可能です。
詳細はサンプルの「gr_sketch.cpp」や、「使いかたのようなもの.txt」、ソースファイルをご確認ください。
(あまり初心者に配慮できておらず申し訳ありません。わかる人に翻訳してもらってからご使用ください。)
※このライブラリに付属しているgr-sketch.cppやsketch.binでは動作しません。別のものに差し替える必要があります。
:
Processingのプログラムをexe化したもの(Windows限定)と、動作サンプルのスケッチについては
下記にありますので、興味が湧いたら見てみてください。
https://drive.google.com/open?id=0B3sohk99YZtucXVyZ1dqTzN0OFU
センサーから読み取った値から、Roll, Pitch, Yawの傾きを算出しています。
ジンバルや自動平衡システムに使用されているアレと同じです。
特になし
このプログラムはGR-SAKURAでしかテストできていません。インターフェースの仕様上、KURUMIやKAEDEでも動作するはずですが、保証はできかねます。
2015/11/18:・加速度の補正が常に0になる問題を修正・加速度の初期化時の自動補正を削除・setAcceleroOffsetAuto(bool targetX, bool targetY, bool targetZ, char sample_n)を追加2015/11/19:・補正値を微調整・getRaw6(short &gx, short &gy, short &gz, short &ax, short &ay, short &az)を追加・getRaw9(short &gx, short &gy, short &gz, short &ax, short &ay, short &az, short &mx, short &my, short &mz)を追加・コンパスの出力値をmGa(ミリガウス)に変更2015/11/22:・多数の不具合を修正・コンパスの出力値をGa(ガウス)に変更
サンプルへの追加の件、とくに問題ありません。
ただし何分個人で作成したものなので・・・。ライブラリそのものに不具合が眠っている可能性がある点、ご留意ください。
おお、ありがたいですね。ライセンスなしとのことですが、IDE for GRとかにサンプル追加してもよいでしょうか?
よろしければこちらでも部品調達して動作確認した後に追加したいと思います。