micro:bitで気圧の変化を調べてみよう
第1弾:BME280をつないで、気圧・温度・湿度を記録する
「気圧が変わると体調も変わる気がする。でも、自分の場合はどんな変化に反応しているんだろう?」
そんな疑問から、micro:bitと気圧センサーを使って、自分の身の回りの気圧を実際に測ってみることにしました。目標は、単に気圧を表示するだけではありません。将来は、気圧の急な低下やゆるやかな変化を検知し、さらに体調の記録と組み合わせて、その人に合った注意のタイミングを知らせる仕組みにつなげたいと考えています。

1.今回のゴール
まず第1弾では、BME280で「気圧・温度・湿度」を測り、micro:bitに表示するところからスタート。さらに10分ごとに自動記録し、CSVデータとして取り出せるところまでを目指しました。
<用意したもの>
・micro:bit V2
・BME280:気圧・温度・湿度を測るセンサー
・センサーシールド:micro:bitとセンサーを接続しやすくするもの
・メス−メス ジャンパーワイヤー:各端子を配線する
・USBケーブル/USB電源:プログラム転送と給電
2.まずはBME280をmicro:bitにつなぐ
BME280はI²C(アイ・スクエアド・シー)という通信方式でmicro:bitとつなぎました。今回の基板には Vio / Vcore / GND / CSB / SDI / SCK / SDO の7端子があり、センサーシールド側は3.3Vに設定して配線します。電源を入れる前に、配線を一つずつ確認しました。


3.MakeCodeで気圧を表示してみる
配線ができたら、Microsoft MakeCode for micro:bitでBME280の拡張機能を追加。最初はAボタンを押すと気圧を表示するだけのプログラムにしました。

そしてAボタンを押すと……「1009」! 初めて自分でつないだセンサーから気圧の数字が出た瞬間です。次に温度と湿度も追加し、Aボタン1つで3種類の環境データを順番に確認できるようにしました。

4.10分ごとの自動記録に挑戦
その場の数字を見るだけでは、気圧が『どう変化したか』は分かりません。そこでmicro:bit V2のData Loggerを使い、pressure / temperature / humidity の3列を作って、一定間隔で自動保存することにしました。


5.データが取れた!
まず10秒間隔でテストすると、0.80秒、10.83秒、20.87秒……と、ほぼ狙いどおりに記録されました。その後10分間隔に変更して連続観測。約18時間で111件のデータが集まりました。


6.次の改善:気圧をもっと細かく記録する
初回はpressureをhPaで記録したため、1009か1010という整数値になりました。これでは1009.2 → 1009.5 → 1009.8のような細かな変化が見えません。そこで次回からはBME280のpressureを「Pa」で保存します。
例)100923 Pa ÷ 100 = 1009.23 hPa
Paの整数値で保存しておけば、あとから100で割ることで0.01hPa単位の変化を扱えます。気圧が上がっているのか、下がっているのか、そして変化が急なのかゆるやかなのかを調べるには、この細かなデータが重要になりそうです。
7.この先、作りたいもの
今回のゴールは『測って記録する』ところまで。でも、本当に作りたいのはその先です。今後は、過去1時間・3時間などの気圧との差を計算して、急な低下とゆるやかな低下を判定できるようにします。
・気圧の変化速度を計算し、「下降中」「急降下」などを判定する
・一定の条件に近づいたとき、micro:bitで予告アラートを出す
・アプリに「頭痛が起きた」などの体調チェックを記録する
・チェックした時刻の気圧と、その数時間前からの変化を自動でひも付ける
・データがたまったら、その人に起こりやすいパターンを探し、個人に合わせたアラート条件を作る
大切にしたいこと:気圧と体調の関係には個人差があり、この装置は診断をするものではありません。まずは自分自身の環境データと体調記録を丁寧に集め、『自分にはどんな傾向があるのか』を見つけるための道具として育てていく予定です。