■ BME280 温度・湿度・気圧センサーを制御する ■

 1つのセンサー・モジュールで、温度・湿度・気圧を測定できるBoschのBME280センサーをテストします。
 
 BME280は、2線式のI2Cと3線式または4線式SPIの両方のインターフェイスを搭載しているので、回路構成に合わせてどちらでも選択することができます。
 個々のセンサーに個体差の較正データが書き込まれており、内蔵の温度センサーと合わせて補償計算を行う必要があります。 (この計算は、非常に複雑です)
 
 サンプリングの回数(オーバー・サンプリング)や自動で周期的な測定を行う設定も可能で、内部のIIRフィルター(無限インパルス応答フィルター)により、ドアの開閉などの瞬発的な気圧変化を抑える設定も可能です。
 
 複合センサーのため、専用のセンサーよりは精度が落ちるかもしれませんが、基板の省スペース化や回路構成の簡略化に期待できます。



 
Amazonで購入したBME280。
(GY-BME280 6ピン基板)
・電源電圧: 1.71V 〜 3.6V
・消費電流: 3.6μA(標準) スリープ時: 0.1μA
・動作温度範囲: −40 〜 +85 ℃ (定格)
・湿度: 0 〜 100 % (相対湿度)
・気圧: 300 〜 1100 hPa
・温度精度: ±1 ℃ (0〜65℃)
・湿度精度: ±3 %RH (25℃, 絶対精度の公差)
・気圧精度: ±1.0 hPa (0〜65℃, 絶対精度)
・インターフェイス: I2C(最大3.4MHz) , SPI(最大10MHz)

 

AliExpressで購入したBME280。
(GY-BME280 4ピン基板)
・電源電圧: 4V 〜 5V (最大電圧はマイコン回路と同じ)
・以下の仕様は上記の6ピン基板と同じ。
 
・3.3Vのレギュレータを搭載。
・[SCL]と[SDA]に、[VIN]電圧と3.3Vのレベル変換回路を
 搭載。 (5Vマイコン回路と直結可能)
 
モジュール 回路図 BME280-4pin_Cir.pdf


BME280の日本語データ・シートが見つからないので、私的に翻訳してあります。
BME280 日本語データ・シート 原本 BME280
 
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、
いかなる損害にも責任を負いません。


テストはGamebuinoのI2C端子に
BME280を接続して行いました。


BME280の温度・湿度・気圧 測定テスト・プログラム (Gamebuino版)
 
回 路
 
 ・GamebuinoのI2C端子にBME280を接続して制御します。
 ・もちろん、各種のAVRやポートを選択することもできます。 (3.3V動作)
 
 ・「秋月電子」や「Strawberry Linux」のモジュールを使用する場合は、ピン配置の違いに注意した
  上で、[CSB]ピンをVDDへ、SDOピンをGNDに接続してください。
  SCK(SCL)とSDI(SDA)のプルアップ抵抗器は、Gamebuinoに内蔵されているので不要です。

回 路 図  PDF版 Gamebuino_BME280_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

 
プログラム
 
 ・テストプログラムでは、オーバー・サンプリングを最高値にして、出力データ速度を1Hz(1秒)で
  変換を行います。
 ・内部のIIRフィルター(無限インパルス応答フィルター)も、×16で動作させます。
 ・センサーを「通常モード」で動作させるため、測定終了のタイミングとデータの読み出しの同期を
  取る必要はありません。 (データ・レジスターのシャドーイングの項を参照)
 ・LCDの表示は、1秒毎に更新されます。
 ・LCDの表示更新と同時に、シリアル・ターミナルへも測定値が出力されます。
 ・[C]ボタンを押すたびに、LCDのバックライトがON/OFFします。

 ・Gamebuino用のコンパイルは、グラフィックLCD (Nokia 5110相当)のライブラリが必要です。
  (Gamebuino [Arduino]互換の小型ゲーム基板 ページを参照)
 
 ・HEXファイルをSDカードに書き込み、「SDカードからのブート」を行う事もできます。
 
プログラム  テキスト形式 ソースファイル  Gamebuino_BME280_101.TXT
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 Gamebuino_BME280_101.bas
 フォント・ファイル  Gamebuino_font6x8.font
 Font10x16num.font
 SDカード用 HEXファイル  BME--280.HEX
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)







BME280の温度・湿度・気圧 測定テスト・プログラム (トレーニング・ボード版)
 
回 路

 ・制御のテストは、当ページに掲載の
   AVR & BASCOM-AVR トレーニング・ボード
   「秋月電子」製のBME280モジュールを
   接続しています。
 
 ・もちろん、各種のAVRやポートを選択することもできます。
 ・「Amazon」や「Strawberry Linux」のモジュールを使用する場合は、ピン配置の違いに注意した
  上で、[CSB]ピンをVDDへ、SDOピンをGNDに接続してください。
 
 ・SCK(SCL)とSDI(SDA)のプルアップ抵抗器を必ずモジュール基板内でジャンパーを接続して、
  3.3V電源へプルアップして下さい。 (詳細は各モジュールの説明書を参照)

 ※注意
  SCK(SCL)とSDI(SDA)を接続したポートは、絶対にプログラムで出力の[H]レベル(+5V)に
  設定しないで下さい。 (デバッグ中の設定ミスに注意すること)
  AVR内蔵プルアップの設定も不可です。
  BME280が故障する可能性があります。


回 路 図  PDF版 ATB_BME280_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

 
プログラム
 
 ・テストプログラムでは、オーバー・サンプリングを最高値にして、出力データ速度を1Hz(1秒)で
  変換を行います。
 ・内部のIIRフィルター(無限インパルス応答フィルター)も、×16で動作させます。
 ・センサーを「通常モード」で動作させるため、測定終了のタイミングとデータの読み出しの同期を
  取る必要はありません。 (データ・レジスターのシャドーイングの項を参照)
 ・LCDの表示は、1秒毎に更新されます。

プログラム  テキスト形式 ソースファイル  AVRtraining_BME280_101.TXT
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 AVRtraining_BME280_101.bas
 HEXファイル  AVRtraining_BME280_101.hex
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)







BME280 熱中症モニター
 BME280 熱中症モニターの製作

 BoschのBME280センサーを使用して、各測定値と共に熱中症の
 警戒情報の表示と警報を発生する装置です。





BME280 気圧・温度・湿度・高低差計
 BME280 気圧・温度・湿度・高低差 計の製作

 気圧・温度・湿度センサーBME280を使用した、高低差計の製作です。
 高度が変わると気圧も変化する原理を利用して、高低差を測定します。




   電子工作の部屋 Top へ 前のページへ戻る