短期集中連載、超小型PC「Raspberry Pi」を使って夏休みの自由課題をやってみよう。第3回は、Raspberry PiにI2Cの気圧・温度センサーを接続して、数値を記録する。

短期集中連載・超小型PC「Raspberry Pi」で夏休み自由課題

■第1回 Raspberry Piとは? 入手とセットアップ
■第2回 雨量や雷情報を3分おきに自動取得するプログラム
■第3回 気圧・温度センサーを動かして数値を記録
■第4回 高層ビルのエレベーターで気圧の変化を記録

Raspberry Piの本体(写真左)と、今回の連載で使う「気圧」センサーを組み合わせた状態(写真右)

I2Cセンサーを使う

Raspberry Piにできて、一般的なWindows PCでは(簡単には)できないこと。それは、ハードウェアに近いという意味での、低レベルな周辺機器を割と自由に制御することだ。

例えば、Windows PCにLEDを1個つないで、これをプログラムで制御するのは意外と面倒くさい。LEDをどこにどうやって取り付けて、どうやって制御するかを考えると、Windows PCではけっこうハードルが高いのだ。出力に加えて入力にしても、スイッチを1個つないで状態(オンオフ)を読み取るのは、面倒だったりするのだ。

Raspberry Piの場合、GPIOという汎用ポートが用意されているだけでなく、シリアル入出力、今回利用するI2C、SPIといったインタフェースが備わっている。これらインタフェースと、そこに接続するデバイスは、プログラムから比較的簡単に(かつ乱暴に)扱えるのがポイントだ。Windows PCにおいて本気で周辺デバイスを扱う場合は、そのデバイスに対するドライバを書いて集中管理する必要があったりするのだが、Raspberry Piのようにプログラムから直接扱えるのは便利なのである。

ということで、今回はI2Cというインタフェースを介して、センサーを使ってみたい。センサーにも色々あるが、気圧と温度を測れる「LPS331AP」を使う。秋葉原の「秋月電子」で扱いやすいモジュールを販売しているので、これを買うとよいだろう(通信販売もある)。

秋月電子で売っている「LPS331使用 高精度大気圧センサー(完成品)」。写真はモジュールとして販売されているもの。完成品は、秋葉原店の場合は店員に言えば出してもらえる。気圧だけでなく温度も測定できるが、温度の精度はあまり高くない

小型ブレッドボードの例。5×17の穴が空いており、横方向にジャンパーワイヤーを差し込むだけで回路ができる

LPS331APをRaspberry Piに接続するために、今回はブレッドボードを利用する。ブレッドボードは電子基板の試作やテストに使われるパーツで、半田付けが不要なので手軽だ。色々な大きさのものがあるが、今回は小型かつ安いものを使った。また、ブレッドボードの配線材と、ブレッドボードとRaspberry Piを接続する配線材も必要だ。

ジャンパーワイヤーの例。箱に入ったセット物が売られている。フレキシブルワイヤータイプ(オス-オス)もあるが、写真のようなタイプだとブレッドボード上で配線を確認しやすい

種類ごとに並べてみた。長さで色が違うので分かりやすい

ブレッドボードとRaspberry Piをつなぐジャンパーワイヤー(オス-メス)。今回は4本を接続するので、色違いの4本があるとよい。秋葉原の秋月電子には目的のセットがなかったが、すぐそばの千石電商で入手できた

違うタイプのジャンパーワイヤー(オス-メス)。40本ほどまとまっており、必要なだけ切り離して使う

■今回追加するパーツ(基本的に秋月電子で入手可能)
LPS331使用 高精度大気圧センサーモジュール(完成品)
ミニブレッドボード BB-601(白)
■ブレッドボード配線用のジャンパーワイヤーは以下のどちらでも良い
ブレッドボード・ジャンパーワイヤ EIC-J-S
ブレッドボード・ジャンパーワイヤ EIC-J-L
■ブレッドボードとRaspberry Piをつなぐケーブルも以下のどれでも良い。今回使うのは4本だが、別々の色を使うと分かりやすい
ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(赤)
ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(黒)
ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(青)
■秋葉原に行って買うなら5色セットがおすすめ(以下は千石電商で販売)
SparkFun PRT-09140 155mmジャンプワイヤ(オス-メス) 10本入り