Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Raspberry Pi用の激安温度センサーモジュールをlm-sensorsから使う

More than 1 year has passed since last update.

eBayで電子部品を検索していたら、下記のようなRaspberry Piに直接差せる温度センサーモジュールが1ドル程度で売られているのを発見しました1

lm75a.jpg

激安が大好きな私は大喜びで買ったのですが、世間的な知名度はあまり高くないような気がします。本稿ではこのセンサーモジュールの使い方について紹介します。

これは何

上記のモジュールは、温度センサーNXP LM75AとI2Cアドレス設定用のプルアップ抵抗を実装したもので、Raspberry Piに直接差せるピン配置になっているのが特徴的です。

1 2 3 4 5
VDD SDA SCL 未接続 GND

Raspberry Piのピン配置に合わせるために4番目のピンが結線されていないのがアツいですね。

実際に差すと下記の写真のようになります。

1341fd20-97f5-bac0-093f-e7d8abc6648a.jpeg

もちろんセンサーを単体で買ってきてブレッドボードで接続しても温度は取れますが、このように本体に直接差せると取り回しが断然楽なのでお勧めです。

ただし、外気温を測りたいという場合にはお勧めしません。というのも、上の写真を見ればわかるように温度センサーとSoC(≒CPU)の距離が近すぎて、SoCの発熱の影響をもろに受けてしまうのです。Raspberry Piが熱くなりすぎていないか検出する目的で使うのが良さそうです。

LM75Aの仕様は下記の通りです(データシートから抜粋)。

  • 電源電圧: 2.8Vから 5.5V
  • 動作温度範囲:-55°C から +125°C
  • 通信方式: I2C
  • 温度分解能:0.125℃

準備

$ sudo raspi-config
(I2Cを有効化)
$ sudo apt install i2c-tools

使い方

このモジュールはRaspberry Piの1,3,5,7,9番ピンに接続して使うようです2

本モジュールのI2Cアドレスは0x48です。これは i2c-detect でも確認できます。

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

また、 i2cget コマンドで生の測定値を取り出すこともできます。

$ i2cget -y 1 0x48 0x00 w
0xe029

ただ、今回は自力で頑張りたいわけではないので、hwmonドライバの管理下に置いて利用しましょう。 /boot/config.txt の末尾に下記のように書いてリブートします。

/boot/config.txt
dtoverlay=i2c-sensor,lm75,addr=0x48

再起動後、dmesg で温度センサーが認識されているかどうか確認します。

$ dmesg | grep hwmon
[    3.961488] lm75 1-0048: hwmon0: sensor 'lm75'

lm-sensorsで確認

センサーがhwmon管理になるとlm-sensorsから利用できます。

$ sudo apt-get update
$ sudo apt-get install lm-sensors
$ sensors
lm75-i2c-1-48
Adapter: bcm2835 I2C adapter
temp1:        +41.8°C  (high = +80.0°C, hyst = +75.0°C)

バッチリ温度が取れました。あとはCPU負荷をかけて温度変化を確認したり、値をグラフ化するなどして楽しみましょう。

参考URL


  1. 「LM75 Raspberry」で検索すればすぐ見つかるはずです 

  2. eBayの販売ページには説明が一切書いていないので推測で使うしかないんですよね…。 

hnw
境界値バグが大好物。自分の日記で書くには小ネタすぎるネタをQiitaに書いています。
https://hnw.hatenablog.com/
klab
モバイルオンラインゲーム、その他スマートフォン関連サービス、及びサーバーインフラ開発・運用
http://www.klab.com/jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away