メカ徒然日記
とある工学屋のブログ.鳥人間とかプログラミングとか.
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


mbedでMPU6050
mbedでジャイロ3軸、加速度3軸のMPU-6050(InvenSense)の乗ったボード
が動いたので報告。なんと買ったときはなんと600円。お安い。乗ってるセンサはこれ。

I2Cなので注意。

テストにはLPC1768とStarBoardOrangeを使用しました。

LPC1768(青mbed)の
9番ピンをsda
10番ピンをsclと結線。
ad0(アドレス指定用ピン)をGNDに接続。
VCCはmbedのVOut
GNDはmbedのGNDに接続。
IMG_1754_R.png
念のためsda,scl端子はプルアップ。

http://mbed.org/users/Sissors/code/MPU6050/docs/5c63e20c50f3/classMPU6050.html
このクラスを使用しますがアドレスが違うようなので書き直す。

MPU6050.hの

MPU6050_ADDRESS 0x69 を

MPU6050_ADDRESS 0x68 に変更。

コードはこんな感じ。
TextLCDMPU6050のライブラリは各自用意のこと。

#include "mbed.h"
#include "TextLCD.h"
#include "MPU6050.h"
#include < string >
#define N 3
TextLCD lcd(p24,p26,p27,p28,p29,p30);//rs,e,d0,d1,d2,d3
MPU6050 mpu(p9,p10);//sda,scl


void PrintFloatN(const float data[N],string name)
{
lcd.printf(name.c_str());
for(int i = 0; i < N ; i++ ) {
lcd.printf("%4.1f",data[i]);
}
lcd.printf("\n");
}

int main()
{
float acc[N];
float gyro[N];
//initialize

for(int i = 0; i < N ; i++ ) {
acc[i] = 0;
gyro[i] = 0;
}


while(true) {
//update
mpu.getAccelero(acc);
mpu.getGyro(gyro);

//draw
lcd.cls();
PrintFloatN(acc,"acc");
PrintFloatN(gyro,"gyro");
wait(0.1);
}
}

HPASim進捗
HPASimの進捗です。
・アップローダをbowlrollにしました。
・OculusRift版の開発を始めました


HPASim ver0.611
HPASim,一応更新。ver0.611
http://www1.axfc.net/uploader/so/2926790.zip?key=toriningen …
HPA_NaviのN_pageのcsv形式を読み込んで回転姿勢をアニメーション表示するようにした.


/AnalyzeSylphide/page_N.csv
を読み込んで、
Analysis モードで再生。

ほんとは平行移動もつけたかったけど、3軸姿勢しか・・・
3軸ジャイロしか使ってないから、ヨーイング積分誤差乗り続ける。

誰得だけどモチベーションの問題でアップした。


フライトシミュレータ HPASim Ver0.60β
フライトシミュレータ
HPASim Ver0.60β
公開しました。

前回からの進展は、
リプレイモードが実装されました!
フリーフライトで遊んだあと、
リプレイモードでリプレイを見られます。

上半角のアニメーションはまだ再生されないのでβがついてます。

http://www1.axfc.net/uploader/so/2898913?key=toriningen

人力飛行機向けフライトシミュレータ、
久々に更新しました。

メニュー画面がつきました、が、フリーフライト以外のモードは未実装なのでまだ意味はないです。
DLKey[toriningen]
#HPASim
http://www1.axfc.net/uploader/so/2877201.zip?key=toriningen



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。