はじめに
ここではGY-BMP280という大気圧センサーモジュールを使って気温と気圧のデータを取得してみます。
回路を組んでみる
GY-BMP280モジュールとArduino Uno とは、I2Cで接続します。GY-BMP280モジュールは、3.3Vで動作するのに対して、Arduino Unoは5V動作となっているので、レベル変換モジュールで中継します。
Arduino Uno、3.3V-5Vレベル変換モジュール、GY-BMP280モジュールを表のように接続します。
Arduino Uno | 3.3V-5Vレベル変換 | GY-BMP280 | ||
GND | ⇔ | GND | ⇔ | GND |
5V | ⇔ | HV | ||
3.3V | ⇔ | LV | ⇔ | VCC |
SDA | ⇔ | HV1 | ||
SCL | ⇔ | HV2 | ||
LV1 | ⇔ | SDA | ||
LV2 | ⇔ | SCL |
ジャンプワイヤで接続先が隠れてしまって分かりづらいですが、すべてを接続するとこのようになります。
プログラムをライブラリから取得しよう
ここでは、動作確認ということで、ライブラリからプログラムを取得して、データが取得できるかやってみます。
まずは、ライブラリを追加します。追加方法は、Arduino IDEを起動し、[ツール]-[ライブラリを管理]を実行します。
ライブラリマネージャが起動するので、検索で[BMP280]と入力し、該当のライブラリを表示させます。
表示した中に[I2C-Sensor-Lib iLib]というライブラリがあるので、これをインストールします。
次に、[ファイル]-[スケッチ例]-[I2C-Sensor-Lib iLib]の中の i2c_BMP280を実行します。
このプログラムを実際に実行してみます。
実行方法は、こちらを参考にしてみてください。
出力データは、シリアル通信経由となります。Arduino IDEの右端にあるシリアルモニタアイコンをクリックすると通信モニタ画面が表示されます。通信モニタ画面の右下の通信速度を115200bpsに設定すると気圧、気温が出力されます。
まとめ
GY-BMP280モジュールを使って大気圧、気温データを取得してみました。
プログラムは、ライブラリを使用してしまいましたが、今後、実際にプログラムを作成してみたいと思います。
このモジュールにはBMP280というBOSCHのセンサーが搭載されていますが、BME280というセンサーが搭載されたモジュールもあり、こちらは、湿度も計測できるようです。せっかくならBME280を使って湿度もみてみたかったです。
コメント