日記とか、工作記録とか

自分に書けることを何でも書いてゆきます。作った物、買ったもの、コンピュータ系の話題が多くなるかもしれません。

Raspberry pi 2 + 温度センサー(MCP9700)=継続的にデータを取得する(配線編)

Raspberry piは消費電力が少ない(USBポートに接続したものにもよりますがだいたい1W~3Wくらい)ので、継続して動かしておくのに便利です。これで何か有用な観察ができないかなぁと考えながら、先日のエントリーキットを使って回路を作りました。

温度センサーから継続的にデータを取得することを考えます。キットに付属した説明では、いまひとつよくわからないですし、どうしてこういう配線になっているのか解説がありませんので、自分のスキルになりません。結局は自分で調べてゆくことになりました。

温度センサーはMCP9700です。トランジスタのように3本の脚がついています。写真の左のピンから順に0, 1, 2番ですが、0番ピンはプラスの電源(許容範囲は広いようですが今回は3.3Vに接続)、2番ピンはGroundにつなぎます。そして真ん中の1番ピンからセンサーの観測データがでてきます。
f:id:WindVoice:20150222095248j:plain
MCP9700は、その温度の高さ・低さを電圧の高さ・低さで示します。つまりこれはアナログ出力をするセンサーです。一方のRaspberry pi 2にはアナログデータを読み取る機能は無いそうなので、アナログデータをデジタルに変換する仕組みが必要です。それがこちらのMCP3008です。
f:id:WindVoice:20150301085450j:plain
下側に8本のピンがありますが、これらがアナログデータを入力する部分です。つまり同時に8個のセンサーを接続できます。左下から順にチャンネル0, 1, 2,... 7と呼びます。データがMCP3008に入力されていると、SPIバスからのデータ要求に応じて、デジタルデータが出力されます。イメージ的にはRaspberry piが「Ch.1のデータをくれ!」と言うと、MCP3008がデジタルデータを返してくれる、というような感じです。

上側のピンは、左から2本が電源(3.3Vにつないでいます)、3本目と8本目がGround、そして4本目~7本目がSPI通信用のポートです。なんで電源が2本ずつあるのかというと…… よくわかっていませんが、それぞれ目的が違うようです。

SPIのポートは、それぞれをRaspberry piのGPIO 8, 9, 10, 11に接続します。詳しくは写真のジャンパワイヤーの色と、前回も提示したピン配列の図を見てください。温度センサーはMCP3008のCh.1につながっています。
f:id:WindVoice:20150301085431j:plain
ここまでじっくり配線を組んできたわけですが、この段階ではまだ、自分がやっていることが正確かどうか自信が持てません。ソフトウェアの開発のようにちょっとずつ作りながら動作を確認してゆく、ということが難しいように思います。辛抱が必要ですね。

BeagleBone Black電子工作エントリーキット(Standard)

BeagleBone Black電子工作エントリーキット(Standard)