Bosch社BME280 をLabVIEW環境で使用したい

最終更新日:2016年9月20日

I2CデバイスをLabVIEWからアクセスしたいと思うことは多々あります。一般にはNI-845xというデバイスを使用してアクセスする方が多いと思いますが、如何せん高価です。解析に使用するならまだしも。。。。

そこで、安価なデバイスとしてサンハヤト社のMM-CP2112を使用してI2Cデバイスにアクセスできるようにしました。参照LV-CP2112

実際に動作確認をすべく、I2CデバイスのターゲットとしてBosch社のBME280を採用しました。
https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf

chipのまま使用するのは大変です。上記のようにブレッドボードに差し込んで使用する事として、ストロベリーリナックス製のモジュールを購入し動作確認をしています。
https://strawberry-linux.com/catalog/items?code=12280
ただ、残念なことにストロベリーリナックス社はBME280のサポートは余り良くなくて、サンプルプログラムを提供していません。実際のところ、難解な演算をしないと実ディメンジョンのデータになりません。Bosch社の提供するデータシートにサンプルプログラムが載っていますので、それを元にコードすることになります。


VITreeは以下のようになっています。


オブジェクト自体はベクター殿のストレージをお借りしています。

URL

出来る事は、


実際にExampleを実行した例を挙げておきます。

BME280は基本的にスレーブアドレスは2つ、$EC($76)か$EE($77)です。()内7bit表記。CP2112は8bit表記が一般です。
Config($F5)でスタンバイ時間、IIRフィルタ、3線SPI有効無効を設定できます。
Ctrl_meas($F4)で温度測定有効/無効、気圧測定有効/無効、測定モードの設定が出来ます。
($F2)で湿度測定の有効/無効が設定できます。
Status($F3)でステータス確認が出来ます。
このExampleでは計測前に補正データを取得して、計測を開始し、取得データを補正して実ディメンジョンのデータを求めグラフ化しています。
温度データを湿度・気圧値の演算に使用するため、温度取得は絶対必要です。
演算を整数のまま実行するか、浮動小数点演算するか選択できるようにしています。オンタイムで変更可能です。
温度値で0.1℃程度の差が出ます。
レジスタマップを一覧できるExampleを用意しています。実行中のレジスタマップを一覧モニタするような事も可能です。

製作物に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。