ADT7410を用いた温度データ取得方法¶
ADT7410データシート¶
ADT7410のデータシートはこちらを参照ください。
スペック¶
- 電源電圧;2.7~5.5V
- 消費電流;210uA
- 温度の確度;±0.4℃(-40~105℃、3.0V時)
- 測定温度;-55~150℃
- 温度の分解能;0.0078℃
- 温度変換時間;240ms
- インターフェース;I2C
- I2Cデータ転送速度;0~400kHz
ステップ¶
- ADT7410をpinとはんだ付けする
- ADT7410をブレッドボードに付け回路を作る
- I2C有効化
- ちゃんとつながっているか確認
- Pythonでプログラムを作る
1. ADT7410をpinとはんだ付けする¶

このようにpinと基盤が分かれているのではんだ付けをしてくっつける。 (これは勉強会で実演します)
2. ADT7410をブレッドボートに付け回路を作る¶


3.I2C有効化¶
Raspberry PiでI2Cを使えるようにする方法を解説しています。
I2Cとは?¶
I2C(Inter-Integrated Circuit)は、周辺デバイスとのシリアル通信の方式です。 I2Cは同じ基板内のような近距離で直結したデバイスとシリアル通信するための規格であり、離れた装置間の通信には向いていません。 Raspberry PiでI2Cを使えるようにすることで、I2C対応のモジュールを制御することができるようになります。
I2C有効化¶
SSHを有効化した時と同様にI2Cも有効化する
- 設定画面を開く
$ sudo raspi-config
- 上から5番目、"Interfacing Options"を選択
-
”P5 I2C” と "P7 1-Wire"を有効化(enable)する

-
再起動
$ sudo reboot -
smbusというpythonのパッケージをインストールしておく
$ sudo apt-get install python-smbus -
終わり👍
4.ちゃんとつながっているか確認¶
-
以下のコマンドを入力
$ sudo i2cdetect -y 1 -
以下のようなものが表示される

-
接続されたデバイスのアドレスが表示される。ADT7410はデフォルトでは48を返すので、以下のようになっていたらOK
$ sudo i2cdetect -r -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: -- -- -- -- -- -- -- -- -
これが表示されなければ何かがおかしいのでどうにかしてください
5.Pythonでプログラムを作る¶
-
以下のプログラムを入力(コピペでもいいお)
import smbus i2c = smbus.SMBus(1) address = 0x48 block = i2c.read_i2c_block_data(address, 0x00, 12) temp = (block[0] << 8 | block[1]) >> 3 if(temp >= 4096): temp -= 8192 print("Temperature:%6.2f" % (temp / 16.0)) -
実行してみる
$ python adt7410.py -
以下のように表示されたらOK
$ Temperature: 23.31
おまけ¶
- 温度換算式 Negative Temperature = (ADC Code (dec) − 8192)/16