BME280
7セグディスプレイとTM1630が使えるようになったので、なんか表示してみたいなーと思い、温度・湿度・気圧が計測できるBME280を使って取得した数値を表示してみたい。
お買い物
http://akizukidenshi.com/catalog/g/gK-09421/
やや高め。はんだ付けが必要なのでしてみた。
接続
オス-メスのジャンパワイヤ使い切っちゃった。
I2Cを利用してサンプルファイルを取得
SPIはADコンバータの時に使ったので、I2Cでやってみることにした。買った時に付いてた取説とデータシートを見てみたのだけど、さっぱり分かんないしやる気も起きず、参考サイトとか見ても結構な長さだったので、何をやっているのかを理解することは諦め、pigpioのexampleを流用することにした。
I2Cを有効化
raspi-configでInterfacingOptionに行き、I2Cをenabledにする。
i2c-toolsをインストール。
$ sudo apt-get install i2c-tools
そんで再起動。
動作確認
$ sudo i2cdetect 1
てすると
WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-1. I will probe address range 0x03-0x77. Continue? [Y/n]
て聞かれるのでy。
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
アドレスが見えた。
pigpioからpyファイルをダウンロード
今回メインパソコンが無かったので、頑張って落としてくる。
$ wget http://abyz.me.uk/rpi/pigpio/code/BME280_py.zip
でダウンロード。
$ mv BME280_py.zip /home/pi/nas
cdでカレントフォルダ移動する前に落としてきちゃったので、mvでファイルを移動する。
$ unzip BME280_py.zip
で解凍。BME280.pyが出てくる。
意外とCLI簡単!
サンプルファイルを使ってみる
サンプルファイルを
$ sudo python BME280.py
で実行すると0.9秒ごとに一分間計測値を取得して表示してくれる。
いえーい。
今度はこの値を利用して7セグディスプレイに表示できるようにしてこ。
参考
https://deviceplus.jp/hobby/raspberrypi_entry_039/
https://www.hiramine.com/physicalcomputing/espwroom02/bme280.html
http://abyz.me.uk/rpi/pigpio/examples.html#Python%20code
https://www.atmarkit.co.jp/ait/articles/1606/20/news024.html
https://www.atmarkit.co.jp/ait/articles/1607/26/news014.html
https://www.atmarkit.co.jp/ait/articles/1606/13/news024.html