Arduinoで気圧センサー(GY-BMP280)を使い気圧を取得してみた‼
こんにちは‼
今回はBMP280というセンサーで気圧を測定してみたいと思います。
普段あんまし気にしていない気圧ですが、実は人体には少しながら影響は出ています‼
例えば頭痛などが揚げられ、天気が悪くなると頭痛が起こる人がいます。
それは主に気圧などが関わっていて、気象病とも言われています。
しかも気象病を経験している人は少なく無く、ロート製薬のアンケートによると、
なんと約60%が気象病の経験ありという回答をしています‼
普段原因不明の頭痛は、もしかしたらこの気圧の変化によるものかもしれません‼
そんな気圧を気象観測の情報とかではなく、リアルタイムで可視化出来たら面白くないですか?
そんな感じに面白みが分かると一層電子工作も楽しくなるかと思いますので、
難しい作業も特にないので是非作ってみましょう^^
①「部品」
・気圧センサーモジュール (GY-BMP280)
電子工作ステーション 370円+送料(200円)(500円以上で送料無料)
・Arduino UNO
電子工作ステーション 1200円(送料無料)(互換ボード)
※UNO以外の物でも大丈夫です。
※Arduino用のケーブルは付属していません。
お持ちでない方はセット購入をお勧めします。
・ジャンパーワイヤー(オス・メス) (6本)
電子工作ステーション 1セットで100円(送料500円以上で無料)
②「配線図」
GY-BMP280センサーとArduinoをジャンパーワイヤーで繋いでいきます‼
まず、GY-BMP280センサーに付属しているpinをはんだ付けします。
付け終わったら下記の通りにジャンパーワイヤーで直接繋いじゃって大丈夫です‼
GY-BMP280 | Arduino |
VCC | 3.3V |
GND | GND |
SCL | 13 |
SDA | 12 |
CSB | 11 |
SDO | 10 |
③「開発環境」
まず、Arduino IDEが無い方は、Arduino IDEをダウンロードし開発環境を整えましょう‼
次に、BMP280のライブラリーを入れます‼
Arduino IDEを開き、ツール⇒ライブラリー管理 を選択、
「BMP280」と検索すると、「Adafruit BMP Library by Adafruit」が一番上に出てくるかと思うので、
それをインストールします。
これで準備完了‼
後はプログラミング‼
④「プログラミング」
bmp.readTemperature()関数を使い現在地の温度(℃)を測定。
bmp.readPressure()関数を使い現在地の気圧(㎩)を測定。
bmp.readAltitude()関数を使い現在地の標高(m)を温度測定値と気圧測定値から計算するが、
海面気圧と温度の情報が必要でのため、今回はプログラムに入れていません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
#include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BMP280.h> #define BMP_SCK 13 //SCL #define BMP_MISO 10 //SDO #define BMP_MOSI 12 //SDA #define BMP_CS 11 //CSB /* * hpaに変更用 */ double pa = 0; int hpa = 0; Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); void setup() { Serial.begin(9600); //シリアルモニター9600で表示 /*SPI通信を検出する*/ if (!bmp.begin()) { Serial.println(F("BMP280センサー取得失敗")); while (1); } } void loop() { Serial.print(F("温度:")); Serial.print(bmp.readTemperature()); Serial.println(" *C"); Serial.print(F("気圧 = ")); /* * paをhpaに変換 */ pa = bmp.readPressure(); hpa = pa/100; Serial.print(hpa); Serial.println(" hPa"); delay(1000); } |
※もしこんなエラーがが出た場合⇩
下記の方法で改善できます⇩
「Adafruit BusIO」というライブラリーをインストールすると改善されますので、
BMP280のライブラリーを入れたときと同じ手順でインストールしましょう‼
⑤「結果」
このように取得できれば完璧です‼
このデータを取り続け、気圧が急に下がったら体調が悪くなる、みたいな現象が起きたら気象病の可能性が高いかと思います。
是非、参考になれば幸いです^^
以上、ご閲覧頂きありがとうございました。
とても参考になる記事をありがとうございます。
記事に記載されているプログラムを実行してみたところ、Arduino IDEのシリアルモニタに「BMP280センサー取得失敗」と表示されました。
何が原因か、また、どのように改善すれば良いかについて、可能な範囲でご教示いただけると助かります。
ご閲覧ありがとうございます^^
そのエラーの場合ですと、回路に問題があるかと思います。
配線やマイコンを変えてみたり、ケーブルに損傷はないかなどを確認していただき、試してみてください^^