JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

Raspberry Pi Pico MicroPython BME280テスト

2021-11-29 13:13:50 | Raspberry Pi Pico
 Raspberry Pi Picoで、温度・気圧・湿度センサーBME280のテストをします。
 BME280は、秋月電子のAE-BME280モジュールを使います。I2C接続で温度・気圧・湿度の測定データを読み出すことができます。I2Cアドレスは、SDOをGNDに接続した場合0x76、VDDに接続した場合は、0x77です。


接続回路図です。

 Raspberry Pi PicoのI2Cは、id=0、sda=GP16、scl=GP17に設定します。

 BME280の測定値から実際の温度、気圧、湿度を求めるには、補償値も含め複雑な計算が必要です。そこで、利用できるライブラリを探してみます。

 Thonny IDEにおいて、ツール→Manage packages MicroPython deviceを開き、BME280で検索します。
 ESP8266/ESP32用ですが、「micropython-bme280」が使えそうです。Picoにインストールします。

 次のスクリプトでテストしてみました。bme.valuesで温度、気圧、湿度の測定値を読み出すことができます。 
 1secごとにshellに表示させてみると、測定値が小数点以下は細かく変動することが分かります。

 このままでも利用できますが、生データを保証した値も読み出すことができます。bme.read_compensated_data()で、温度、気圧、湿度の順に補正後の値を読み出すことができます。


 温度tは、t/100で実際の温度になります。
 気圧pは、p/256/100で実際の気圧になります。
 湿度hは、h/1024で実際の湿度になります。

 次は、OLED表示器と組み合わせて、温度・気圧・湿度計を作ってみます。