60章:HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)

    作成2015.11.18

     HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)について検討します。

  1. 購入先と価格
    *購入先:アマゾン
    *品名:HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)
    *価格:¥448(配送を含む)安いです!!(説明書の付属はありません。)


  2. 使用方法の参照アドレス(1)
    HMC5883L三軸デジタルコンパスモジュール
    http://wiki.androciti.com/
    *Arduinoとの接続図が参考になります。


  3. 使用方法の参照アドレス(2)
    HMC5883L使用 デジタルコンパスモジュール 3軸地磁気センサ DIP化キット
    http://akizukidenshi.com/catalog/g/gK-09705/
    *評価用デモソフトウェア(Arduino スケッチサンプル)はライブラリーを使用していないため、I2C通信仕様の詳細がわかりやすいです。


  4. HMC5883L評価回路図
     HMC5883L評価回路図を以下に示します。





  5. HMC5883L評価回路外観
     HMC5883L評価回路外観を以下に示します。





  6. 必要ファイルの入手方法
     必要ファイルの入手方法はいろいろありそうな製品ですが、以下の方法で設定しました。
    (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)検証ボタンを押すと正常終了します。


  7. Arduinoスケッチの書込みと動作テスト
    (1)HMC5883L評価回路図をします。
    (2)Arduino UNOのUSBを接続します。
    (3)Arduino\libraries\Adafruit_HMC5883_Unified\examples\magsensor\magsensor.inoをダブルクリックで起動します。
    (4)Arduino UNOにスケッチを書込みます。
    (5)シリアルモニタを9600bpsで開きます。
    (6)以下の結果が表示されます。
    HMC5883 Magnetometer Test
    
    ------------------------------------
    Sensor:       HMC5883
    Driver Ver:   1
    Unique ID:    12345
    Max Value:    800.00 uT
    Min Value:    -800.00 uT
    Resolution:   0.20 uT
    ------------------------------------
    
    X: -9.36  Y: -16.00  Z: -30.92  uT
    Heading (degrees): 252.27
    X: -9.45  Y: -15.64  Z: -30.71  uT
    Heading (degrees): 251.45
    X: -9.18  Y: -16.18  Z: -31.02  uT
    Heading (degrees): 253.03
    X: -9.27  Y: -16.00  Z: -31.02  uT
    Heading (degrees): 252.51
    X: -9.36  Y: -16.18  Z: -31.12  uT
    Heading (degrees): 252.55
    X: -9.27  Y: -16.09  Z: -31.02  uT
    Heading (degrees): 252.65
    X: -9.18  Y: -16.00  Z: -30.92  uT
    Heading (degrees): 252.76
    X: -9.27  Y: -15.91  Z: -30.71  uT
    Heading (degrees): 252.37
    X: -9.00  Y: -16.18  Z: -30.71  uT
    Heading (degrees): 253.52
    X: -9.09  Y: -15.73  Z: -30.92  uT
    Heading (degrees): 252.58
    X: -9.45  Y: -16.09  Z: -30.92  uT
    Heading (degrees): 252.17
    X: -9.27  Y: -16.00  Z: -31.02  uT
    Heading (degrees): 252.51
    

    (7)HMC5883Lを動かすと検出値が変化することが確認できます。


  8. HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)まとめ
    (1)HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)評価用のサンプルスケッチはいろいろな選択がありそうです。
    (2)ArduinoIDEの「Library Manager」でサンプルスケッチが簡単に検索できたので、これを評価しました。
    (3)検証ボタンを実行するとAdafruit_Sensor.hが無いというエラーが表示されましたが、Adafruit_Sensor.hは簡単に入手できました。
    (4)全体としては大きなトラブルは無く、簡単に動作テストが完了しました。
    (5)検出値もHMC5883Lの傾きに応じてリニアに変化するため、大変わかりやすいです。
    (6)HMC5883L 使用 3軸 デジタル・コンパス モジュール (3-5V 動作)は大変使い勝手の良いセンサーです。




61章:HMC5883Lコンパスで3Dサンプルを動かすに行く。

トップページに戻る。