部品実験 | 元に戻る |
BME280 2024/11/01 |
|
| |||||||
1.簡単につかう 2.I2Cスレーブアドレス 3.レジスタ 4.出力補正計算 5.概要 |
1.BME280 Arduinoプログラム 2.BME280 Pythonプログラム(RaspberrPi) |
本 文 |
1.簡単に使う 手順は
(1) 設定 1-1 温度測定条件設定 湿度のオーバーサンプリングの設定 湿度のオーバーサンプリング ×1に設定
(1) 設定 1-2 温度測定条件設定 温度、気圧のオーバーサンプリングとモードの設定 温度、気圧のオーバーサンプリング ×1、ノーマルモードに設定
(1) 設定 1-3 デバイスのレート、フィルタ、およびインターフェース オプションを設定 通常モードでの非アクティブ期間tstandby =1000ms に設定
・補正値の取得 (2)値の要求2-1~2-3 (3)値の返信3-1~3-3 3回に分けて補正パラメータを取得します。 (2)値の要求2-1
(2)値の要求2-2
(2)値の要求2-3
(3)値の返信3-1~3-3まとめ 取得データ 32個の役目 Symbol 「Tn」 は圧力関連値 「Pn」は湿度関連値
詳細計算方法は「4.出力補正計算」を確認下さい。 ・温度、湿度、気圧データの取得 (2)値の要求2-4
(3)値の返信3-4(温度、湿度、気圧データ)
データと測定項目一覧表
補正値によりデータを計算した測定結果は TEMP : 29.88 DegC PRESS : 998.10 hPa HUM : 42.93 % [目次に戻る] |
2.I2Cスレーブアドレス SDA端子と下記表の端子を接続することによりスレーブアドレスが決定する。
|
3.レジスタ レジスタ一覧表
(1) 0x88 calib00~calib25 補正値で計算方法は 「4.出力補正計算」を確認下さい。 [レジスター一覧表に戻る] (2) 0xD0 idレジスタ 「チップID」 「id」レジスタにはチップ識別番号chip_id[7:0](0x60)が含まれています。 この番号は、デバイスのパワーオンリセットが完了するとすぐに読み取ることができます。 [レジスター一覧表に戻る] (3) 0xE0 resetレジスタ「リセット」 「リセット」レジスタにはソフトリセットワードリセット[7:0]が含まれています。 レジスタに値0xB6が書き込まれると、デバイスは完全なパワーオンリセット手順を使用してリセットされます。 0xB6以外の値を書き込んでも効果はありません。読み出し値は常に0x00です。 [レジスター一覧表に戻る] (4) 0xE1~ calib26 補正値で計算方法は 「4.出力補正計算」を確認下さい。 [レジスター一覧表に戻る] (5) 0xF2 ctrl_humレジスタ 「温度測定条件設定」 「ctrl_hum」レジスタは、デバイスの湿度データ取得オプションを設定します。 このレジスタへの変更は、「ctrl_meas」への書き込み操作後にのみ有効になります。
設定については を、詳細についてはデータシート 3.4.1 章を参照してください。
[レジスター一覧表に戻る] (6) 0xF3 statausレジスタ 「ステータス」 「ステータス」レジスタには、デバイスのステータスを示す 2 つのビットが含まれています。
変換が実行中の場合は自動的に「1」に設定され、結果がデータ レジスタに転送 されると「0」に戻ります。 im_update[0] NVM データがイメージ レジスタにコピーされるときに自動的に '1' に設 定され、コピーが完了すると '0' に戻ります。 データは、パワーオン リセ ット時および各変換の前にコピーされます。 [レジスター一覧表に戻る] (7) 0xF4 ctrl_measレジスタ 「ctrl_meas」レジスタは、デバイスの圧力と温度のデータ収集オプションを設定します。 変更を有効にするには、 「ctrl_hum」を変更した後にレジスタに書き込む必要があります。
温度データのオーバーサンプリングを制御します。 設定については 下表を、詳細についてはデータシート第 3.4.3 章を参照してください。
osrs_p[2:0] 圧力データのオーバーサンプリングを制御します。 下表を参照してください。設定については を、データシート詳細については 3.4.2 章を参照してください。
mode[1:0] デバイスのセンサーモードを制御します。 下表を参照してください。 設定については を、詳細については データシート3.3 章を参照してください。
(8) 0xF5 configレジスタ 「config」 1010 0000 「 config」レジスタは、デバイスのレート、フィルタ、およびインターフェース オプションを設定します。 通常モードでは、「config」レジスタへの書き込みは無視される場合があります。 スリープ モードでは、書き込みは無視されません。
通常モードでの非アクティブ期間tstandbyを制御します。 設定については下表 を、詳細についてはデータシート第 3.3.4 章を参照してください。
filter[2:0] IIRフィルタの時定数を制御します。 下表を参照してください。 設定については を、詳細については データシート3.4.4 章を参照してください。
spi3w_en[0] '1'に設定すると3線式SPIインターフェースが有効になります。 詳細については データシート6.3章を参照してください。 [レジスター一覧表に戻る] (9) pressレジスタ 0xF7…0xF9 「気圧データ」(_msb、_lsb、_xlsb) 「press」レジスタには、生の圧力測定出力データup[19:0]が含まれています。 デバイスから圧力と温度の情報を読み出す方法の詳細については、データシート第4章を参照してください。 [レジスター一覧表に戻る] (10) tempレジスタ 0xFA…0xFC 「温度データ」(_msb、_lsb、_xlsb) 「temp」レジスタには、生の温度測定出力データut[19:0]が含まれています。 デバイスから圧力と温度の情報を読み出す方法の詳細については、データシート第4章を参照してください。 [レジスター一覧表に戻る] (11) hum レジスタ 0xFD…0xFE 「湿度データ」(_msb, _lsb) 「temp」レジスタには、生の温度測定出力データut[19:0]が含まれています。 デバイスから圧力と温度の情報を読み出す方法の詳細については、データシート第4章を参照してください。 [レジスター一覧表に戻る] [目次に戻る] |
4.出力補正計算 補正計算に使用するデータはBME280のレジスタアドレス 0x88(データ数24個)、0xA1(データ数1個)、0xE1(データ数7個) の3箇所から得られるデータを使用する。 下記表は各々のデータが何に関連するのかを示す。 なお表の 「Add」はレジスタアドレスを示す 「Data」はレジスタアドレスのデータを示す(1項で取得したデータ例) 「Symbol」の 「Tn」 は圧力関連値 「Pn」は湿度関連値を示す。 「Value」は各Symbolの値(10進数)を示す。 出力補正データ一覧表
BME280のデータシートでは補正値により下記方法を参照する事と言っている。 [目次に戻る] |
5.概要 (1)仕様
(2)ピン
(3)内部回路 [目次に戻る] |