BMP280温度センサー・その1
簡易目次
さて、開発環境が整ったので、早速何か作ってみようと思います。
SPOONsoftwareの入っているテナントは2階建ての倉庫の2階で窓が多く外壁は薄く、屋根はトタンです。また部屋が広いため冷暖房の効きが悪いんです。何が言いたいかと言うと、
夏はものすごく暑くて、冬は死ぬほど寒い
です。夏の一番暑いときには室温が体温を超えることもあり、冬の一番寒いときには日中でさえ室内で息が白くなるという...。
そんなわけで(どんなわけだ?)温度計を作成して、室温の履歴をとってみたいと思います。
温度センサーとしてはBOSCHのBMP280を使用してみたいと思います。BOSCHと言うと電動工具でよく見かけますが、センサーも作ってるんですねぇ。
購入したのはこちらのBMP280を搭載したセンサーモジュールです。
ちなみに上の写真の真ん中にある
このチップがBMP280本体ですね。こんな小さなチップなのにわざわざモジュール化して大きくしてしまうのはなんか勿体ないですが、チップだけだと自分みたいなハードウェア素人には扱えないので仕方ないです。BOSCHからダウンロードしたデータシート(後で紹介します)によると、サイズは2mm×2.5mm、厚さが0.95mmだそうです。こんなに小さいのにSPIとI2Cに対応しています。BMP280は温度と気圧を測ることが出来ますが、この上位機種にBME280と言うものがあり、これを使うと湿度も測れるようです。知っていたらBME280の方を買ったんですが、後で知りました。
ちなみにこちらのモジュールはAmazonで3つ入り950円くらいでした。
このモジュールはI2CとSPIに対応しているようなのですが、今回はI2Cで通信しようと思います。
I2Cについて色々調べていくと、「プルアップ」抵抗と言う言葉を耳にします。I2CはSDAとSCLの2本の信号線によって通信していますが、そこに適切な大きさの抵抗を入れてあげないとACKがうまく受信できずに通信不良を起こしてしまうそうです。
それで通信が上手くいくことを確認しようと
こんなものを作ってみました。これで1kΩ毎に抵抗を増やしていって、通信が上手くいく抵抗を調べようというわけです。試してみた結果...
抵抗をつなぐ必要はありませんでした。
さっきのモジュールをよく見ると
今までハードはハードウェア屋さんに任せていて、出来上がった基板にチップやチップ抵抗が組みあがった状態しか知らなかったので、抵抗は自分でつけるもんだとばかり思っていました。モジュール化されている時点で適切な抵抗が付けられているんですね。当たり前と言えば当たり前ですが、ハードウェアの難しいところがまた一つ無くなったようで安心しました。
ってことはあれ?ヘッダーピンつけてRaspberryPiにつなぐだけなの?
と言うわけで、次はRaspberryPiにつなげてテストしてみようと思います。
コメント
コメントを投稿