Raspi2で温度センサー

MCP9700Eという温度センサーから読んだ値をMPC3002というA/Dコンバータを通して読むというのをやってみた。

 
MPC3002はSPIというプロトコルインターフェイスを使う。これを話すには
 
* 直接GPIOを叩く
* Pythonならspidev、Rubyならpi_piperなどのSPIを実装したライブラリを使う
 
他にはI2Cを使うチップもあるらしいけど手元にないのでまた別の機会に。
 
はじめはRubyでpi_piperを試してみたけれども、ポートに書き込んだ途端にプロセスがフリーズするのでしばらく悩んだ。ハードウェアの故障を疑ったけれど、spidevを入れるとあっけなく動く。pi_piperは現行バージョンがかなり古いので、raspberry pi2対応がまだなのかもしれない。
 
温度センサーを読めたのはいいものの、値がいまいち信用ならない(5月上旬の午後で27℃をレポートしてくる)ので条件を変えて再度試してみよう。