- 必要なコンポーネント
- BMP280圧力センサーモジュール:
- BMP280をArduinoとインターフェースするための回路図:
- BMP280をArduinoとインターフェースするArduinoプログラム:
- ArduinoBMP280圧力センサーインターフェースプロジェクトの作業
独自の温度監視システムを構築したり、ドローンの高度を測定したり、単にお住まいの地域の大気圧を測定したりする場合、プロジェクトで使用するのに最適なモジュールの1つはBMP280圧力センサーモジュールです。BMP280は、BMP085、BMP180、BMP183センサーのアップグレードバージョンである絶対圧力および温度監視センサーです。なぜアップグレードバージョンと呼ばれるのですか?これについては、次のセクションで説明します。以前のチュートリアルの1つで、Arduinoで古いバージョンのBMP180をすでに使用しました。
BMP280センサモジュールは、我々が使用しようとしているこのプロジェクトのため等のArduino、PIC、AVR、のようなマイクロコントローラと一緒に使用することができるBMP280とArduinoの宇野の温度及び圧力の値を表示するために、LCDの16×2ディスプレイモジュールと一緒。BMP280をArduinoとインターフェースする前に、Adafruitによって開発されたBMP280Arduinoライブラリをダウンロードする必要があります。このAdafruitBMP280ライブラリリンクをクリックして、それぞれのGithubページを開き、ヘッダーファイルをArduinoIDEに追加します。
必要なコンポーネント
- Arduino
- BMP280
- 接続線
- ブレッドボード
- LCD-16x2
BMP280圧力センサーモジュール:
BMP280センサーモジュールは1.71Vの最小電圧(VDD)で動作しますが、以前のバージョンのセンサーモジュールは1.8V(VDD)で動作します。消費電流に関しては、BMP280は2.7uAを消費しますが、BMP180は12uAを消費し、BMP183とBMP085はそれぞれ5uAを消費します。 BMP280は、新しいフィルターモードもサポートします。 BMP280センサーモジュールはI2cおよびSPIプロトコルをサポートしますが、残りのセンサーはI2cまたはSPIのいずれかをサポートします。 BMP280センサーモジュールの精度は± 0.12hPaです。、これは高度の±1mの差に相当します。これらの重要な機能により、主にさまざまなアプリケーションで使用されます。 BMPセンサーは、圧力感知要素、湿度感知要素、および温度感知要素から構成され、これらはさらに、圧力フロントエンド、湿度フロントエンド、および温度フロントエンドに接続されている。これらのフロントエンドICは、小信号の増幅に使用される感度アナログアンプです。このアナログフロントエンドICの出力は、入力信号としてADCに供給されます。この場合、アナログ値はデジタル電圧に変換され、この電圧は論理回路に供給されて、外界とさらにインターフェースします。
BMP280センサーモジュールは、スリープモード、強制モード、および通常モードの3つの電源モードで構成されています。スリープモードでは、測定は実行されず、消費電力は最小限に抑えられます。強制モードでは、選択した測定オプションとフィルターオプションに従って、単一の測定が実行されます。通常モードは、測定期間とスタンバイ期間の間を継続的に循環し、サイクル期間はTstandbyによって定義されます。スタンバイモードの電流は、スリープモードよりわずかに高くなっています。
BMP280をArduinoとインターフェースするための回路図:
ArduinoをBMP280センサーとLCDに接続するための回路図を以下に示します。ArduinoとLCDにまったく慣れていない場合は、このArduino LCDチュートリアルをチェックして、LCDディスプレイでArduinoを使用する方法を理解できます。
センサーのVCCピンとGNDピンはArduinoの3v3ピンとGNDピンに接続されています。センサーのSCLピンとSDAピンは、ArduinoボードのA5とA4に接続されています。LCD接続は次のとおりです
LCDピン名 |
Arduinoピン |
VSSおよびRW |
GND |
RS |
D9 |
E |
D8 |
D4、D5、D6、D7 |
D5、D4、D3、D2 |
BMP280をArduinoとインターフェースするArduinoプログラム:
完全なBMP280Arduinoコードは、このページの下部にあり、Arduinoボードに直接アップロードできます。その説明を以下に示します。
これらのライブラリは、特別な機能を有効にするために含まれています。センサーからの値を直接読み取ることができる#includeヘッダーファイル。#include
#include
Adafruit_BMP280のオブジェクトBMPで作成します。特別な機能にアクセスするためのオブジェクトファイルが作成されます。
Adafruit_BMP280 bmp; // I2C
LCDと通信するようにArduinoのピンを設定します。これらのピンを使用してデータが転送されます。
LiquidCrystal LCD(9、8、5、4、3、2);
LCDとシリアル通信の初期化。
void setup(){lcd.begin(16,2); Serial.begin(9600); Serial.println(F( "BMP280テスト")); lcd.print( "ようこそ"); lcd.setCursor(0,1); lcd.print( "CIRCUIT DIGEST"); delay(1000); lcd.clear(); if(!bmp.begin()){Serial.println(F( "有効なBMP280センサーが見つかりませんでした。配線を確認してください!")); while(1); }
この関数は、bmpオブジェクトの初期化に失敗した場合に機能します。
/ *データシートのデフォルト設定。* / bmp.setSampling(Adafruit_BMP280:: MODE_NORMAL、/ *動作モード。* / Adafruit_BMP280:: SAMPLING_X2、/ *温度オーバーサンプリング* / Adafruit_BMP280:: SAMPLING_X16、/ *圧力オーバーサンプリング* / Adafruit_BMP280:: F * / Adafruit_BMP280:: STANDBY_MS_500); /* 待機時間。* /}
コードのこの部分は、シリアルモニターに温度を出力し、デバッグを目的としています。
void loop(){Serial.print(F( "Temperature =")); Serial.print(bmp.readTemperature()); Serial.println( "* C");
関数 bmp.readPressure および bmp.readTemprature は、特別な関数を呼び出し、温度と圧力の値を返すために使用されます。
lcd.print(bmp.readTemperature()); lcd.print(bmp.readPressure());
ArduinoBMP280圧力センサーインターフェースプロジェクトの作業
関数 bmp.readTemprature() および bmp.readPressure() は、温度と圧力の値を返すために使用されます。これらの関数は、特別なタスクを実行するステートメントのグループです。この場合、温度と圧力のファイルを返します。これらの関数は、 bmp.readTemprature() および bmp.readPressure() 関数を使用して呼び出されます。 lcd.setCursorは、 画面上の必要な位置にLCDのカーソルを設定します。 lcd.print コマンドは、プログラマーが設定した位置からデータを出力します。 LCDにデフォルトで位置が設定されていない場合は、初期位置として(0,0)を取り、データを連続して印刷します。次のデータは次の列の位置を取り、行の終わりに到達して次の行に移動するまで手順が続行されます。
BMP280は、飛行玩具、携帯電話、タブレット、PC、GPSデバイス、ポータブルヘルスケアデバイス、家庭用気象観測所などで使用できます。この手順に従い、ヘッダーファイルといくつかの特殊機能を使用することで、BMP280と簡単にインターフェースできます。 Arduino。完全な動作は、以下のビデオにもあります。このBMP280 Arduinoチュートリアルを楽しんで、何か役立つことを学んだことを願っています。質問がある場合は、下のコメントセクションに残すか、フォーラムを使用して他の技術的な質問をしてください。