温度・湿度・気圧を測定できるセンサ「BME280」が搭載された、ブレッドボードで使うのに便利なピン配置のブレイクアウトボードです。
購入は https://www.switch-science.com/catalog/2236/ でどうぞ。
電源は1.8V~3.3V。データの送受信はI2CかSPI(3線・4線)で行います。
BME280のデータシートはこちら:http://ae-bst.resource.bosch.com/media/products/dokumente/bme280/BST-BME280_DS001-09.pdf
Arduinoでの使い方が、スイッチサイエンスさんのWikiで紹介されています:
http://trac.switch-science.com/wiki/BME280
mbed で使うためのコンポーネントが公開されています:
http://developer.mbed.org/components/BME280-Combined-humidity-and-pressure-se/
データシートのKey featuresから抜粋:
せっかくですので、えれくら!標準ボード(?)である「がちゃコンボード」にて使ってみたいと思います。
がちゃコンボードについてはこちら
まず配線。
(「GXPxx」は、がちゃコンボードでのピン名です。詳しくはこちら)
がちゃコンボード側 | BME280モジュール側 |
GXP01 |
CSB |
GXP03 | SDO GND |
GXP07 | SDI |
GXP22 | SCK |
上記の他に、GXP14とGXP15を、USBシリアル変換モジュールへつなぎます。
センサから読んだ値を、シリアルコンソールで表示するためです。
配線写真はこんな感じ。
がちゃコンボードはピンが1列に並んでいるので、ブレッドボードに直接刺して使えるのです。便利!(多分)
(※これは試作ボードなので、1~3ピンが2段になってますが、気にしないでください)
BME280モジュールに抵抗が2個、不細工にはんだ付けされていますが、これはプルアップ抵抗です。
ほんとははんだ付けしなくても、ブレッドボードに付ければよかったのですが、なんかボケててはんだ付けしたあとに気づきました。あーあ。
赤と黒の電線ばっかで見づらいじゃん、と言われるかもしれませんが、手元にこれしかなかったんです・・・勘弁してください・・・
mbed IDEで作ります。
こんな感じ:
-----ここから-----
#include "mbed.h"
#include "BME280.h"
#include "gacb_GXP.h"
Serial pc(USBTX, USBRX);
BME280 sensor(GXP07, GXP22);
DigitalOut led(GXP13);
int main() {
while(1) {
led = 1;
pc.printf("%2.2f degC, %04.2f hPa, %2.2f %%\n",
sensor.getTemperature(), sensor.getPressure(), sensor.getHumidity());
wait(0.5);
led = 0;
wait(0.5);
}
}
----- ここまで-----
このプログラムは、Toyomasa
WataraiさんのBME280_Helloをコピーさせていただき、がちゃコンボード用に修正したものです。あと、同じくBME280ライブラリ も使わせていただいてます。
ありがたやありがたや。mbedバンザイ!
gacb_GXP.h は、GXPピン名を定義したヘッダファイルです。
こちらからダウンロードできます。
ちなみに、さっきのプログラムで LED を点滅させてるような記述がありますが、これではうっすらと光るだけで点滅には見えません。めんどくさいのでほっときます。誰か修正して、えれくら!ふつうのやつで発表してください :-P
動作確認といっても、実際には「あっれぇ?おっかしーなー?あれぇ?」などと言いつつ作ってたので、正常にデータが来た時点で確認おわってるんですけどね・・・まあいいじゃん・・・
動作してるとこのスクリーンショットはこちら。
シリアルポートの設定は、9600bps、データ8bit、パリティなし、ストップビット1bitで受信してます。
少々お値段しますなあ、とは思いましたが、サイズちっさいですし、I2CかSPIのどちらかでデータとれますし、便利かもと思いました。ちっさい箱に詰め込まないといけない時にいいのかも。
今回使った製品は、ブレイクアウトモジュールということで、ピンが1列に並んでますが、8Pin DIPのピン配置だったらもっと使いやすい(というか小さい空間に詰め込みやすい)のかも。そういう需要があるかどうかは分かりませんけど。秋月電子さんから出たりして。
精度がいいかどうかは、ちょびっと使っただけでは、もひとつよく分からなかったです。
湿度センサは一般的に誤差が結構大きいという話を聞いたことがあるのですが、一般的な湿度センサてどんなもんか知らないので何とも・・・
あと数か月で嵐の季節がやって来ますし(これ書いてるの5月)、台風とか来たら気圧が上下したりするでしょうか、楽しみですね。
簡単にプログラムができたのは、Toyomasa Watarai さんのサンプルとライブラリのおかげなので、もう感謝するしかないですね。足を向けて寝られないので、地球上でどこにWataraiさんがいるのかリアルタイムで表示する何かがあればうれしいですね。
ということで、皆さん使うといいと思います。バイナウ!