~環境センサーBMEの使用実験~

BME280 環境センサー

製品概要

これは、環境温度、境界、および大気圧を感知し、IC および SPI インターフェイスをサポートし、3.3V/5V の電気レベルに対応し、小型サイズで、電力消費が少なく、高精度で安定性が高く、環境温度の測定、天気圧に適した 1 セント環境センサーです。预测、海拔高度测、物联網応用场景。

特点

  • I2Cインターフェース通信をサポートし、コンピュータの場所を設定できます
  • SPI インターフェース通信をサポートします。
  • 板電平转换回路、3.3V/5V対応の動作電平
  • 提供する完善的配膳料手册(Raspberry/Arduino/STM32例題手順と用户手册など)

製品パラメータ

動作電圧: 5V/3.3V
通信インターフェース: I2C/SPI
温度范围: -40~85°C (分率0.01°C,偏差±1°C)
范围: 0~100%RH (分率0.008%RH,±3%RH)
圧力范围: 300~1100hPa (分辨率0.18Pa,偏差±1hPa)
製品寸法: 27mm×20mm
貫通孔径: 2.0mm

インターフェース定义

I2C インターフェース
機能引脚 Arduinoインターフェース STM32インターフェース ラズベリー 説明
VCC 3.3V/5V 3.3V/5V 3.3V/5V 電源正
アース アース アース アース 電源地
SDA A4 PB7 SDA I2Cデータライン
SCL A5 PB6 SCL I2Cタイムライン
住所 NC/GND NC/GND NC/GND 地変数選択(高電レベル):
高地のとき、地盤は:0x77 低地のとき、地盤は:
0x76
CS NC NC NC NC

SPIインターフェース
機能引脚 Arduinoインターフェース STM32インターフェース ラズベリー 説明
VCC 3.3V/5V 3.3V/5V 3.3V/5V 3.3V電源正
アース アース アース アース 電源地
モシ D11 PA7 モシ SPIデータ入力
SCK D13 PA5 SCK SPI時钟输入
味噌 D12 PA6 味噌 SPIデータ出力
CS D10 PB6 27 SPI片選択、低電圧効果

用為树莓派

インストールに必要な関数の数

  • 必要な機能をインストールする必要があります。そうしないと、以下のサンプル プログラムが正常に動作しない可能性があります。

https://www.waveshare.net/wiki/Pioneer600_Datasheets

  • 官庁で対応する製品にたどり着き、製品リストが開きます。

BMP388-Barometric-Pressure-Sensor-user-manual-1.png

  • 解圧包に達し、解圧に達したように:

BMP388-Barometric-Pressure-Sensor-user-manual-2.png

  • ラズベリー文物をラズベリー派に奪取する。

前置工作及び演示

前置き工作

  • 次のようにコマンドを実行します。
sudo raspi-config
  • Interface Options -> I2C -> yes を選択します。
  • Interface Options -> SPI -> yes启动SPI内核モーションを選択
  • 保存退出後,重启树莓派:
sudo 再起動
  • 重畳後,実行コマンド監視,I2C,SPI モジュールの有無確認:

lsmod

  • 以下のような打刻情報があります:

BME280-Environmental-Sensor-user-manual-3.png

  • i2c_bcm2835 および spi_bcm2835 が I2C を示している場合、SPI モジュールは動作しています。
  • BME280 モジュールは、前述の I2C インタフェースに基づいてネットワークに接続されます。
  • BME280 モジュールの I2C デバイス アドレスは 0x77 であり、ADDR グランド デバイス アドレスは 0x76 に変更されました。
  • 取付i2c-tools工具進行确认:
sudo apt-get install i2c-tools
  • 接続された I2C デバイス
i2cdetect -y 1
  • 開催予定は以下のとおりです。

BME280-環境センサー-ユーザーマニュアル-4.png

  • 示されている 77 は、BME280 モジュールが正常に接続されていることを示しています。
  • 若将ADDRをGNDに接続则打印76:

BME280-環境センサー-ユーザーマニュアル-5.png
注意:上記の検証により、I2C モジュールが成功した場合、BME280 モジュールは SPI タイミングをサポートし、SPI を参照できます。インターフェース説明部分は、BME280 をグループに接続します。

演示

  • BME280 のモデルを树莓派に接続することに成功した後:
  • I2C 駆動を使用する場合: 事前に I2C デバイス アドレスを決定し、BME280 モジュールは I2C デバイス アドレスを 0X77 として認識し、ADDR を接地する (または 0 の電気抵抗で接続する) と、その I2C デバイス アドレスが 0X76 に変更されます。
  • main.c文を開きます:
  • BME280-Environmental-Sensor-Demo-Codeに入る経路下:
CD BME280-Environmental-Sensor-Demo-Code
  • main.c文を開きます:
vim main.c 
  • I2C 駆動を使用するために、main.c 内の USEIIC の最大値が 1 であることを保証します。

BME280-環境センサー-ユーザーマニュアル-6.png

  • 同時に、main.c 内の I2C デバイスの場所を確認し、現在の BME280 デバイスのデバイスの場所が一致していることを確認します(I2C デバイスの場所が 0x77 であることを確認します。

BME280-環境センサー-ユーザーマニュアル-7.png

  • SPI 駆動を使用している場合: BME280 モジュールは、インターフェイス仕様にある SPI ワイヤレス接続方式で接続され、main.c ファイルの USEIIC の設定が 0 に変更されます。

BME280-環境センサー-ユーザーマニュアル-8.png

  • 保存して退出编辑,その後重新编译:
sudo クリーンアップ
須藤メイク
  • 行程:
sudo ./bme280
  • 以下のデータを示します:

BME280-環境センサー-ユーザーマニュアル-9.png

  • 左から右に、BME280 で測定された温度 (温度)、大気圧 (パーセント)、相対湿度 (%RH) がそれぞれ示されています。地址の有無。

Arduino用

  • 以下の例題プログラムの圧縮パッケージを解凍した後、Arduino のドキュメントにある BME280-Arduino-Library を Arduino の第 3 の場所に移動します。
  • インターフェースの説明に従って、Arduino インターフェースの部分が接続されています。
  • I2C で駆動される BME280 モジュールを採用し、I2C デバイスは 0X77 であることが確認されました。
  • BME280 モジュールを SPI で駆動する必要がある場合は、bme280test.ino の 宏定値USEIIC を 0 に変更します。
BME280-環境センサー-ユーザーマニュアル-10.png
  • I2C デバイスのアドレスを 0X76 に変更する必要がある場合は、ADDR プラグを GND に接続します (または 0 の電気抵抗で接続します)。同時に、Adafruit.h 内の BME280_ADDRESS デバイスのアドレスを 0X76 に変更します。

BME280-環境センサー-ユーザーマニュアル-11.png

  • 標準測定量の標準海圧を取得する必要がある場合、適切な海面の気圧を取得し、SEALEVELPRESSURE_HPA宏定を修正する必要があります。

BME280-環境センサー-ユーザーマニュアル-12.png

  • 正しく接続され、通信方式とデバイスの場所が特定された後、Arduino にダウンロードされます。
  • 起動:Tools -> 串口レーダー,選択波特性は 115200 で,以下の情報が得られます
BME280-環境センサー-ユーザーマニュアル-13.png
  • その中の左から右は、BME280 センサーで測定された温度 (温度)、大気圧 (百分位)、相対湿度 (%RH)、海気 (m) をそれぞれ示しています。
  • データが正常に表示されない場合、またはデータが正常に表示されない場合は、回線、通信方式、およびデバイスの状態が検出されます。
ブログに戻る