Raspberry Pi – I2Cで温度、気圧を測定する

2019年4月12日

温度湿度大気圧を測定できるセンサーを購入し、使ってみたその2が完成している。

目標

Amazon Alexa 用に温湿度大気圧を参照できるデバイスを作るために、とりあえず Terminal で測定値を見られるようにする。

流れ

使用する機器
Pi から測定値を見られない機器
Pi で i2c を使えるようにする
物を作る
動作確認
測定値を表示
実行結果
おまけ情報

使用する機器

・センサーは秋月電子で購入
HDC1000 : 温度、湿度
AELPS331: 大気圧、温度
Raspberry Pi 2 : 3でも同じかと

数年前に買ったので、両方とも売っていなかった。
誰か私に買ってくれればそれを使うのだが!

Pi から測定値をみられない機器

HDC1000 は Pi からプロトコル上参照できないので使えない。残念。
SHT31使用 高精度温湿度センサモジュールキット を買えば直接使えるらしい。

Pi で i2c を使えるようにする

以下のコマンドを実行し有効にする。

物を作る

回路図がややこしいが単にAE-LPS331とコネクタを繋ぐだけ。
HDC1000は使えないが、PIC32で使えるようにしたので、以下の回路図になっている。
Pi とつなぐ CN4 のピンアサインはPiと同じなので1-10本だけ使う。
1番Pinが3.3Vなので、センサーの電源にはこれを使う。

動作確認

センサーがきちんとつながっているか確認する。
2つとも動作している。

測定値を表示

PHP を使うがインストールされていないので、以下のコマンドで入れる。

以下のプログラムを実行。他の種類のセンサーでもちょっと変えれば動くはず。

実行結果

1秒おきに温度と気圧を表示する。

おまけ情報

標準で Repeated Start Condition に対応していないため、
/etc/modprobe.d/i2c.confというファイルを作成し,下記の内容を書き込む 。
ptions i2c_bcm2708 combined=1

これを設定していないと動かないデバイスがおおい。