BME280(温湿度、気圧)をMicroPythonで使う
気温と湿度、気圧が取得できるセンサBME280をMicroPythonがインストールされたESP32で使用した。
MicroPythonライブラリはいくつかあったが一番使いやすそうなものを使うことにした。
ESP8266用とあるがインスタンス時にI2Cを渡してやるだけなので本記事のようにESP32のほかラズピコ(Raspberry Pi Pico、wなど)でも使えるはず。
本当はSPI接続でやりたかったがライブラリが見つからなかったのでI2Cにした。
環境
使用ボード:ESP32-DevKitC-VE ESP32-WROVER-E開発ボード 8MB
センサ:BME280使用 温湿度・気圧センサモジュールキット
PC:Windows10
IDE:Thonny
使用したライブラリ:mpy_bme280_esp8266
準備
秋月のBME280ははんだジャンパすることでSPI接続からI2C接続に切り替えられる。プルアップ抵抗の有無も決められる。
今回はI2CなのでJ3に半田を盛った。
またプルアップ抵抗も使いたいのでJ1、J2も半田を盛った。
テストコード、使い方
テストコード
main.py
from time import sleep
from machine import Pin,SoftI2C
import bme280
BME280_ADDR = 0x76
if __name__ == '__main__':
i2c = SoftI2C(scl = Pin(21),sda = Pin(22),freq = 100000)
bme = bme280.BME280(address=BME280_ADDR,i2c=i2c)
while True:
data = bme.values
print(data)
sleep(1)
1秒ごとにコンソールに気温、湿度、気圧が表示される。
使い方
BME280をI2Cを渡してインスタンスする。
valuesで測定値をリストで取得できる。valuesはプロパティになっており、valuesを読むたびに測定を行っているようだ。
0 件のコメント:
コメントを投稿