24章:HMC5883L使用3軸デジタル・コンパスモジュール制御

    作成2016.01.04

  1. HMC5883L使用3軸デジタル・コンパスモジュール制御の参考アドレス
    60章:HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)
     Arduino UNOとESP-WROOM-02はI2C制御において、完全互換となっているようです。ただし、ESP-WROOM-02のシリアル通信のボ−レートは115200bpsに設定する必要があります。


  2. HMC5883L使用3軸デジタル・コンパスモジュール制御回路図
     HMC5883L使用3軸デジタル・コンパスモジュール制御回路図を以下に示します。




  3. HMC5883L使用3軸デジタル・コンパスモジュール制御回路外観
     HMC5883L使用3軸デジタル・コンパスモジュール制御回路外観を以下に示します。



  4. 必要ファイルの入手方法
     必要ファイルの入手方法はいろいろありそうな製品ですが、以下の方法で設定しました。
    (1)メニュー「スケッチ」_「Include Library」_「Manage Libraries」を選択します。



    (2))「Library Manager」のサーチ欄にHMCと入力すると検索できます。



    (3)Installボタンを押します。
    (4)C:\Users\ユーザ名\Documents\Arduino\libraries\Adafruit_HMC5883_Unifiedフォルダーが自動作成されます。
    (5)Arduino\libraries\Adafruit_HMC5883_Unified\examples\magsensor\magsensor.inoをダブルクリックで起動して、検証ボタンを押すとAdafruit_Sensor.hが無いというエラーが表示されます。
    (6)https://github.com/adafruit/Adafruit_Sensor/blob/master/Adafruit_Sensor.hのアドレスにアクセスします。
    (7)Rawボタンを右クリックして、対象をファイルに保存をを選択します。



    (8)C:\Users\ユーザ名\Documents\Arduino\libraries\Adafruit_HMC5883_UnifiedフォルダーにAdafruit_Sensor.hをいれます。
    (9)検証ボタンを押すと正常終了します。


  5. Arduinoスケッチの書込み
    (1)HMC5883L評価回路図を接続します。
    (2)Arduino\libraries\Adafruit_HMC5883_Unified\examples\magsensor\magsensor.inoをダブルクリックで起動します。
    (3)Serial.begin(9600);→Serial.begin(115200);に変更します。
    (4)GPIO-0ピン:(Type I/O SPI_CS2)→Low(10kΩプルダウン)に設定し、ESP-WROOM-02の電源を投入します。
    (5)スケッチを書込みます。


  6. 動作試験
    (1)arduino.exeを起動して、シリアルモニタを開きます。
    (2)GPIO-0ピン:(Type I/O SPI_CS2)→High(10kΩプルアップ)に戻し、ESP-WROOM-02の電源を再投入します
    (3)シリアルモニターを開きボーレート115200bpsに設定します。
    (4)以下の結果が表示されます。
    ------------------------------------
    Sensor:       HMC5883
    Driver Ver:   1
    Unique ID:    12345
    Max Value:    800.00 uT
    Min Value:    -800.00 uT
    Resolution:   0.20 uT
    ------------------------------------
    
    X: -20.09  Y: -24.00  Z: -47.04  uT
    Heading (degrees): 242.67
    X: -20.45  Y: -24.18  Z: -47.14  uT
    Heading (degrees): 242.38
    X: -20.45  Y: -23.64  Z: -46.94  uT
    Heading (degrees): 241.73
    X: -20.27  Y: -24.09  Z: -46.73  uT
    Heading (degrees): 242.52
    X: -20.18  Y: -24.09  Z: -47.14  uT
    Heading (degrees): 242.65
    X: -20.18  Y: -23.91  Z: -46.73  uT
    Heading (degrees): 242.44
    X: -20.27  Y: -23.73  Z: -46.94  uT
    Heading (degrees): 242.09
    X: -20.18  Y: -23.82  Z: -46.73  uT
    Heading (degrees): 242.33
    X: -20.09  Y: -24.27  Z: -47.14  uT
    Heading (degrees): 242.99
    X: -20.18  Y: -23.82  Z: -47.04  uT
    Heading (degrees): 242.33
    X: -20.36  Y: -24.00  Z: -46.84  uT
    Heading (degrees): 242.29
    X: -20.18  Y: -23.82  Z: -46.94  uT
    Heading (degrees): 242.33
    


  7. HMC5883L使用3軸デジタル・コンパスモジュール制御まとめ
    (1)Arduino UNOとESP-WROOM-02はI2C制御において、完全互換となっているようです。
    (2)ただし、ESP-WROOM-02のシリアル通信のボ−レートは115200bpsに設定する必要があります。
    (3)ESP-WROOM-02のコストパフォーマンスはすばらしい!!




25章:MPU-6050 使用 3軸ジャイロスコープ・3軸加速度センサー 制御に行く。

トップページに戻る。