2016年11月9日水曜日

Orange Pi PC で LM75Aを使い温度計測 その1

Orange Pi PC と一緒に頼んだケースが、また届いておりません。中国は出国しているので、近日中に届くと思うのですが。数ドルをけちらず Shenzhen Xunlong Software から買っていれば本体と一緒に届いたんですけどねぇ。(まぁ、届くのを待つのも楽しみの一つ?!)

amazon で頼んでいた LM75A温度センサーが届いておりましたので、ピンヘッダーを付けて温度計測ができるよう設定をしてみます。国内発送かと思いきや、こちらも中国発送でした。後から頼んだのに、ケースより先に届いておりました。

自分が注文したものは260円でしたが現在品切れで再入荷の見通し無し、同等品と思われるものは 11/10現在320円でした。通勤・通学で秋葉原を利用できるようでしたら、千石電商あたりでスイッチサイエンスのLM75B温度センサーを買っちゃった方がいいかもしれません。

ちなみに付属していたピンヘッダーはストレートタイプでしたが、ケース内収納を考えたとき L字の方が取り回しが効くと判断し、手持ちの L字ピンヘッダーを取り付けました。

Orange Pi PC との接続ですが、ブレッドボードを使って仮組みをすることにしました。センサーの動作電圧は 2.8~5.5Vですので 3.3Vで動作をさせることにしました。

LM75A

Orange Pi PC LM75Aセンサー
1 VCC
3 SDA
5 SCL
9 GND

こんな感じで接続をしました。

 

次に i2c関連のパッケージをインストールします。

$ sudo apt install i2c-tools
[sudo] password for koyama:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
提案パッケージ:
  libi2c-dev python-smbus
推奨パッケージ:
  read-edid
以下のパッケージが新たにインストールされます:
  i2c-tools
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。



i2c-tools (3.1.1-1) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
i2c-tools (3.1.1-1) を設定しています ...

提案と推奨のパッケージもインストールすることにします。

$ sudo apt install libi2c-dev python-smbus read-edid

Raspberry Pi の場合ですと i2c-devモジュールをロードする必要がありますが、Orange Pi はロードをしなくともデフォルトで有効になっているようです。念のため、確認をしてみます。

$ ls /dev/i2*
/dev/i2c-0  /dev/i2c-1

i2c用のディレクトリが見えるので有効になっているようです。LM75A温度センサーが認識されているか確認をしてみます。

$ sudo i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

バスは 0 と 1 の二つ、LM75A温度センサーはバス0 に接続されているようです。ただし、表示が "UU" になっていますので、なにか問題が起きているようです。

取りあえずデータが読み込めるか否かの確認をしてみました。

$ sudo i2cget -y 0 0x48 0x00 w
Error: Could not set address to 0x48: Device or resource busy

予想通り読み込めませんでした...

検証の続きは明日行うことにします。

0 件のコメント:

コメントを投稿