LancerStratos’s blog

第23回ロボットグランプリに向けたロボットランサー”ランサーストラトス”開発記録

BNO055読み取りならず

BNOじゃなくVINOに乗って近くの「かつや」に行きました。お目当ては「ホル玉とロースカツの合い盛り丼」税込み¥869です。2週間前に行ったときは昼過ぎですでに売り切れだったのでリベンジです。自分のものにはホルモン3切れが入っていました。美味しかった。期間限定ということで、1食でも食べることができてよかったです。

ホル玉とロースカツの合い盛り丼

さて先週に引き続き新基板用プログラムを開発しています。

近藤のシリアルサーボKRS2542の作動が確認できました。なので残すはBNO055との接続になります。これまではネットに転がっていたプログラム例を参考にマイコン(STM32F405)とBNO055との通信にHAL_I2C_Master_Transmit/Receive関数を用いていました。試しにMPU9250の時に使っていたHAL_I2C_Mem_Write/Read関数に変えたところ、通信ができるようになりました(と思っている)。確かにBNO055のデータシートをよく見るとI2C通信プロトコルとしては後者の関数の方が合っているようです。では、ネットに転がっていた例は何だったのだろう・・・。

しかしながら、肝心のオイラー角の読み出しには至っていません。方位角の上位8ビットと下位8ビットをつないで16ビットの符号付整数データ(int16_t)とし、16で割ってdeg単位に変換して液晶に表示させようとするのですが、期待通りに表示してくれません。まあ、通信自体はできている様なので、データ型の取り扱い辺りを間違っているのではないかと思って気長にやっていきます。