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 件のコメント:
コメントを投稿