2019年8月12日月曜日

ESP-WROOM-02で9軸センサーBMX055を使う

I2Cで使えるBMX055 9軸センサーモジュール秋月のESP-WROOM-02ボードから使ってみました.

I2Cの配線について

BMX055は以下の端子が出ています.

  • ピン1: GND
  • ピン2: SDA (I2Cデータ)
  • ピン3: SCL: (I2Cクロック)
  • ピン4: 3V3 (BMX055用電源端子)

一方,こちらのページを参照すると,ESP8266のI2C端子は以下のようになっています.

  • SDA: 10(IO4)
  • SCL: 14(IO5)
これが,秋月のESP-WROOM-02ボードでは以下のピンに出ています.
  • ピン12: IO4 (SDA)
  • ピン16: IO5 (SCL)
ESP8266用のWireライブラリでも,これを使うことになっているようです.そこで,以下のように配線しました.

接続にあたって,Arduinoの場合と同様,JP4とJP5をpull upのために半田付けしました.電源は3.3Vを取っているので,とりあえず他の場所は触っていません.


プログラム

まずは,9軸センサーから読んだデータをシリアルポートに書き出して,Arduino IDEのシリアルモニタで表示することにしました.

秋月電子のBMX055のページにあるサンプルプログラムそのままでは動きませんでした.
27行目から29行目の
int xMag = 0;
int yMag = 0;
int zMag = 0;

short int xMag = 0;
short int yMag = 0;
short int zMag = 0;
に,
154行目と180行目の
int data[6];

unsigned char data[6];
に,
207行目の
int data[8];

unsigned short int data[8];
に書き換えたところ,それらしいデータが出てくるようになりました.

プログラムを動かすには,プログラムを書き込んだ後,リセットボタンを押す必要があります.

参照ページ:
ESP-WROOM-02ボードのI2C関係のピン配置 http://radiopench.blog96.fc2.com/blog-entry-661.html

0 件のコメント:

コメントを投稿