//
表示中
モノづくり, Computer - コンピューター, Electronics - 電子工作

mbed-1114とBME280とMPU-6050


毛布一枚で寝ていても汗ビッショになるほど暖かくなり湿度も上がってきました。ギターに塗った漆も乾きが速くてありがたいです。

ArduinoもmbedもC++ベースのプログラミング言語を使用するので大差はありませんが、mbedに慣れるためにmbedの使用頻度を上げていこうと思います。

mbed-1114にBME280(温湿度・気圧センサー)とMPU-6050(3軸ジャイロ+3軸加速度センサー)を接続してI2Cでセンシングしたデータを取る遊びです。同じBME280でもピンの引き出し方の異なるモジュールが存在しているようで、今使っているタイプは繋ぐ線が多くて少し面倒くさいので、いずれ他のタイプのモジュールも試してみたいところです。

接続はLPC-1114のdp5をSDAにdp27をSCLに接続し(モジュールはチェーン状に接続します)、SDAとSCLは2.2KΩでプルアップ(VCCに接続)します。LEDは動作確認用に繋げただけでなくても構いません。

2016-04-22 20.56.35

プログラムはこんな感じ。ありがたいことにBME280とMPU-6050のライブラリがmbedのサイトに登録されていて、それをインポートするだけですぐにプログラムを書けます。今回利用させてもらったMPU-6050のライブラリはモジュールのアドレスが0x69となっていましたが、これを今回使ったモジュールに合わせて0x68にしました。I2Cモジュールのアドレスを知るには、以前の投稿「I2Cデバイスを調べる方法」に書いた方法で探しました。

mbedのコンパイラーはmbed社のオンラインコンパイラーを使いましたが、これはSafariだとキー入力ができないという問題があるのでChromeを使用しています。

BME_MPU_PROG

実行結果です。

mbedはUSBデバイスとしてMacから認識されており、/dev ディレクトリに cu.usbmodemXXXX という名前で見えると思います。mbedからのデバッグ用のシリアル出力はTerminal.appから次のようにscreenコマンド使ってモニターします。

$ screen /dev/cu.usbmodemXXXX 9600

Arduino IDEの場合はシリアルモニターを内蔵しているので、このようにコマンドを使う必要がなくて、いくらかとっつきやすい印象がありますが、慣れのレベルではないでしょうか。シェルを使って色々やる場合は、コマンドラインで処理した方が有利ですので、これはこれで好ましいと思います。

BME_MPU_RESULT

この投稿でやったように最終的にはBluetoothでiPhoneと接続します。3軸ジャイロからの値はこのまま使うのではなく、角度に変換して利用することになると思いますが、それをマイコン側でやるかiPhone側でやるかは気分次第です。(多分どっちでやっても手間は変わりません)

kazz12211 について

Working as a OO programmer and enjoying music, bicycle and photography.

ディスカッション

コメントはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

評価

ブログ統計

  • 582,353 ヒット

カテゴリー

アーカイブ

カレンダー

2016年4月
« 3月   5月 »
 12
3456789
10111213141516
17181920212223
24252627282930
%d人のブロガーが「いいね」をつけました。