皆さんこんにちは、ITAです。
今回は、Raspberry Pi Picoと気圧・気温センサーのBMP280を使って、気温と気圧のデータを取得する方法を紹介します。
はじめに
BMP280は、屋内や屋外の環境の気圧や温度を計測できるセンサーで、ドローンや気象観測、IoTデバイスなど幅広く使われています。小型で精度が良く、価格もお手頃なので電子工作や学習にぴったりです。
接続方法
BMP280はI2C通信を使ってRaspberry Pi Picoと接続します。I2Cは2本の信号線(SDAとSCL)で複数のデバイスと通信できる便利なインターフェースです。
必要な配線
配線は一例です。
Picoのピン | 役割 |
---|---|
GP14 | SDA |
GP15 | SCL |
3V3 | VCC |
GND | GND |
実際に配線すると以下の通りです。

MicroPythonの準備
BMP280を使うためには、専用のライブラリ(bmp280.py)をRaspberry Pi Picoにアップロードする必要があります。
- GitHubリポジトリURL:
https://github.com/dafvid/micropython-bmp280 - リポジトリ内のbmp280.pyファイルをダウンロードしてください。
- Pico本体にbmp280.pyを保存します。
これでBMP280用のライブラリが使えるようになります!
実装コードの紹介
ここでは、Raspberry Pi PicoからBMP280センサーの気温と気圧を読み取るためのシンプルなコードを紹介します。
from machine import Pin, I2C
from bmp280 import BMP280
import time
# I2C初期化(GPIOの番号は適宜変更してください)
i2c = I2C(1, scl=Pin(15), sda=Pin(14))
# BMP280インスタンス作成(アドレスはデフォルトで0x76です)
bmp = BMP280(i2c)
while True:
temperature = bmp.temperature
pressure = bmp.pressure / 100 # Pa → hPa に変換
print("Temperature: {:.2f} °C".format(temperature)) #温度表示
print("Pressure: {:.2f} hPa".format(pressure)) #気圧表示
print("−" * 24)
time.sleep(1)
ポイント
- I2C(1, scl=Pin(15), sda=Pin(14))でPicoのGPIOピンをI2C通信に設定しています。
必要に応じて使用するピン番号は変更してください。 - BMP280(i2c)でセンサーのインスタンスを作成します。
センサーのI2Cアドレスが0x77
の場合は、BMP280(i2c, addr=0x77) と指定してください。 - 気圧はセンサーからPa(パスカル)単位で取得できるので、100で割ってhPa(ヘクトパスカル)に変換しています。
やってみた
上記のコードを実行してみると、シェルに以下のように表示されます。

まとめ
今回は、Raspberry Pi PicoとBMP280センサーを使って気温と気圧を取得する方法を紹介しました。
- BMP280は小型で扱いやすい気圧・温度センサーです。
- I2C通信を使ってPicoと接続し、専用のMicroPythonライブラリで簡単にデータ取得ができます。
- センサーの値をリアルタイムに取得して表示するコードも紹介しました。
この記事を参考に、是非ご自分の電子工作にBMP280を取り入れてみてください!
コメント