RaspberryPiにアナログボード(ADC Pi)を繋げてアナログ計測

昨今どんどんと気温が高くなっていますね。これから先は冷房が欠かせないな、と思っているmi2yo4です。

さて、今日は久々にRaspberry Piを弄ってみたので、その結果を書いてみたいと思います。

RaspberryPiでもアナログ入力で計測したい

RaspberryPiで様々なセンサーを取り付け計測をしていますが、アナログ出力の計測器―計測値がアナログ電圧等で出されている計測器―は中々使いづらいものが有りました。

というのはRaspberryPiではアナログ入力という端子が無いんですね。

そんな状況を打破すべく色々と調査をしてみました。

とまあ、検索エンジンでちょっと調べてみただけでも色々と出てきます。
MICROCHIP社製のマイコンMCP300xを使えば、アナログからSPI接続でRaspberryPiに繋げられそうです。

ただ…10bitのAD変換なので趣味用途には申し分ないのですが、ちょっと精度が足りないかな~、と迷っていました。
そんな折に、こんな良い物を発見しました。

ADCPi

最大18bitで計測出来るスゴイ奴です。組み立て済みでこの価格(£21.59)なら十分アリでしょう。
しかし…こんなのがポイっと売られていると国内では太刀打ち出来るのか心配になってきますね。

使うためのライブラリも充実しています。
githubにPythonで使うためのライブラリが公開されているのでそれをダウンロードしておきましょう。

早速使ってみます。
と、その前にRaspberryPiでI2C通信が出来るようにちょこっといじる所があります。これもドキュメント化されているので、
こちらをどうぞ。
それでは気を取り直して…

root@fieldserver:~/ABElectronics_ADCPi# python demo-readvoltage.py 
Traceback (most recent call last):
  File "demo-readvoltage.py", line 3, in <module>
    from ABElectronics_ADCPi import ADCPi
  File "/root/ABElectronics_ADCPi/ABElectronics_ADCPi.py", line 3, in <module>
    import smbus
ImportError: No module named smbus

いきなりsmbusが無いと怒られました…orz
なので、smbusをインストールします。

sudo apt-get install python-smbus

まとめ

という訳で、その後どうなったかと言うとあっさり使えてしまいました。
こちらで工夫する所もなく、少々拍子抜けという感じもしましたねぇ。

今のところ問題点もなく十分導入できる、という判断です。
今後はこのADC Piを使ったサービスというのを実装している最中なので、もう少ししたら成果を発表出来るのではと思いっています。

それではまた!

追記

上記に書きました知見を元に、あぐりログに新しいサービスを追加しています。

あぐりログは温室のモニタリングサービスです

どうぞご覧になってみて下さい。