Changes between Version 3 and Version 4 of BME280


Ignore:
Timestamp:
Mar 31, 2015 3:38:40 PM (9 years ago)
Author:
soumura
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BME280

    v3 v4  
    77 - 動作電圧が1.8V~3.3V Edisonなどの1.8V系のI/Oに接続可能
    88
    9 == 使い方 ==
     9== 初期設定 ==
    1010
    1111次のレジスタマップを見ながらBME280の設定をします。
    1212[[Image(BME280_6.jpg)]]
    1313
    14 '''configレジスタ(0xF5)'''は次の項目を設定するためのレジスタです。
     14'''configレジスタ(0xF5)'''は次の項目を設定するためのレジスタです。
    1515 - t_sb[2:0] スタンバイ時間
    1616 - filter[2:0] IIRフィルタの有効/無効
     
    1919スタンバイ時間は次の中から選択します。[[BR]]
    2020[[Image(t_bs.jpg)]]
    21 スタンバイ時間とはセンサが計測をしないで待機している時間のことです。
     21
     22スタンバイ時間とはセンサが計測をしないで待機している時間のことです。[[BR]]
     23今回は例として'''1000ms'''を選択しました。[[BR]]
     24[[Image(BME280_7.jpg)]]
     25
     26IIRフィルタの値は次の中から選択します。[[BR]]
     27[[Image(filter.jpg)]]
     28
     29温度と気圧は計測結果を20bitで取得しますが、下位の4bit分(xlsb)は無効です。[[BR]]
     30IIRフィルタを有効にすると下位4bitも有効になります。しかし、フィルタを有効にすると正しい値を取得するために複数回のサンプリングが必要になります。[[BR]]
     31フィルタの値が大きいほど必要なサンプリング回数が増えます。[[BR]]
     32今回は例として'''Filter off'''を選択しました。
     33
     34BME280は3線式と4線式のSPIに対応しています。[[BR]]
     35spi3w_en[0]を0にすると4線式、1にすると3線式です。ここでは0にします。[[BR]]
     36
     37よって'''configレジスタ'''の値は 0b10100000  0xA0に決まりました。
    2238
    2339
     40'''・ctrl_measレジスタ(0xF4)'''は次の項目を設定するためのレジスタです。
     41 - osrs_t[2:0] 温度測定の有効(オーバーサンプリング値)/無効
     42 - osrs_p[2:0] 気圧測定の有効(オーバーサンプリング値)/無効
     43 - mode[1:0]   BME280の測定モード設定
    2444
    25 '''ctrl_measレジスタ(0xF4)'''は次の項目を設定するためのレジスタです。
    26  - 温度測定の有効(オーバーサンプリング値)/無効
    27  - 気圧測定の有効(オーバーサンプリング値)/無効
    28  - BME280の測定モード設定
     45温度測定の有効/無効は次のように設定します。[[BR]]
     46[[Image(osrs_t.jpg)]]
    2947
    30 '''ctrl_humレジスタ(0xF2)'''
    31  - 湿度測定の有効(オーバーサンプリング値)/無告
     48無効にすると結果は0x80000に固定されます。[[BR]]
     49オーバーサンプリングをすることでノイズによる測定結果への影響を軽減することができますが、測定時間が増加します。[[BR]]
     50今回は例として'''oversampling x 1'''を選択しました。[[BR]]
     51
     52
     53気圧測定の有効/無効は次のように設定します。[[BR]]
     54[[Image(osrs_p.jpg)]]
     55
     56無効にすると結果は0x80000に固定されます。[[BR]]
     57オーバーサンプリングをすることでノイズによる測定結果への影響を軽減することができますが、測定時間が増加します。[[BR]]
     58今回は例として'''oversampling x 1'''を選択しました。[[BR]]
     59
     60BME280のモード設定は次の中から選びます。[[BR]]
     61[[Image(mode.jpg)]]
     62
     63モードは Sleep、Forced、Normalの三つです。[[BR]]
     64Sleepは計測をしないモード、電源を入れてすぐはSleepモードです。[[BR]]
     65Forcedモードは1度だけ測定を行うモードです。測定を行うと自動的にSleepモードに戻ります。[[BR]]
     66Normalモードは繰り返し測定を行うモードです。測定を繰り返す間隔は温度・湿度・気圧の測定時間とスタンバイ時間を合わせた時間です。[[BR]]
     67今回の例では'''Normal'''モードを使用します。
     68
     69よって'''ctrl_measレジスタ'''の値は 0b00100111  0x27に決まりました。
     70
     71
     72'''・ctrl_humレジスタ(0xF2)'''
     73 - osrs_h[2:0] 湿度測定の有効(オーバーサンプリング値)/無告
    3274 
     75湿度測定の有効/無効は次のように設定します。[[BR]]
     76[[Image(osrs_h.jpg)]]
    3377
     78無効にすると結果は0x80000に固定されます。[[BR]]
     79オーバーサンプリングをすることでノイズによる測定結果への影響を軽減することができますが、測定時間が増加します。[[BR]]
     80今回は例として'''oversampling x 1'''を選択しました。[[BR]]
     81
     82よって'''ctrl_humレジスタ'''の値は  0b00000001  0x01に決まりました。
     83
     84== サンプルスケッチ ==
     85レジスタの設定値が決定したので値をレジスタに書込み測定を開始します。[[BR]]
     86気圧の情報はレジスタのアドレス 0xF7 0xF8 0xF9に格納されます。[[BR]]
     87温度の情報はレジスタのアドレス 0xFA 0xFB 0xFCに格納されます。[[BR]]
     88湿度の情報はレジスタのアドレス 0xFD 0xFE に格納されます。 湿度だけ2byteです。[[BR]]
    3489
    3590=== I2Cの場合 ===
    3691
    37