RasberryPi で温度ロガー作成計画(キックオフ)

今夜は、久々にラズパイ (RaspberryPi) で遊ぶ。と言っても、温度センサで温度を測ってみるというだけ。と言っても、簡単工作キットのアナログ温度センサとADC(アナログデジタルコンバータ)を使う。正直言って、ADCを意識的に使うの人生で初めてかもしれない。

ちなみに、ラズパイには ADC が無いので、ラズパイだけで温度センシングするには、デジタル出力の温度センサ(どうやら DS18B20 が有名らしい)接続するのが一般的のようだ。

でも、今回はキットに入っている温度センサ MCP9700E と、ADC MCP3002 を使う。(最初は MCP9700 もてっきりデジタル出力かと思っていたのだけど、データシート見ると違った。)

参考にするのは、キット提供元がやっているブログ「Raspberry Pi 電子工作」の記事「Raspberry Piで温度センサー。部屋の気温を取得しよう」

まず、回路を組む。キットのブレッドボード上に配線する。一応データシート見て進めるのだが、結局、インストラクションに従う。最初、GNDの接続が間違えていて、ラズパイが起動しなくて焦ったが、接続を直したら大丈夫であった。

で、次に pi_piper が必要ということで、"sudo gem install pi_piper" を実行したのだが、「mkmf がない」とエラー終了したので、ネットで検索して "sudo apt-get install ruby-dev" を実行したらOKであった。

次にやることは、デフォルトで無効化されているSPIを有効化する。これは、 "/etc/modprobe.d/raspi-blacklist.conf" を編集して、 "#blacklist spi-bcm2708" とコメントアウトして再起動。

正しく認識されていれば、SPIは /dev/spidev* という形で見えているはずなのだが、見えていなかったので、別の方法 "raspi-config" から Enable にしてみた。今度はバッチリだった。

ここで、あまりに寒いので、床暖の入っている二階へ移動。ラフロイグのクォーターカスクを片手に作業を進める。ちなみに、英語では、ウィスキーなどのストレートのことを、 "neat" というらしい。シングルモルトのスコッチは "neat" で飲むのが正しい。

さて、ここまでこれば、あとは、ブログのインストラクションに従って、たった12行のRubyコードを書いて実行するだけ。しかし、このRubyコード、ライブラリがすごすぎて、何をやっているのかほとんどわからない。明日、解読してみよう。

最初は間違って照度センサ用のコードを書き写してしまい、変な値が表示されてしまったが、これを直すと、とりあえずそれっぽい 20 度程度の値が表示された。さきほど暖房を入れておいたので、まあ妥当な測定値かと思う。

後でもう少し検証してみようと思う。

明日以降は、これをウェブから見れるようにやってみるつもり。

というところで、今日はおしまい。

コメント

このブログの人気の投稿

Gbps でなく GT/s

HCSLに33オームの直列抵抗が必要な理由

PowerShellによるExcel/PowerPointの操作