第48回 温度センサーADT7410(動作設定)

今回の記事では温度センサー(ADT7410)の動作設定方法を説明します。

目次

動作設定概要

ADT7410の動作設定を行うには、ADT7410内部メモリのアドレス0x03に1バイトのデータを書き込むことにより行います。

I2C通信手順は次のようになります。

なお、デバイスアドレスは0x48、書き込み(0)ですので、最初に送る「スレーブアドレス+読み書き指定」のデータは0x90になります。

つまり、ADT7410の動作設定を行うには、0x90、0x03と動作設定データ(1バイト)の合計3バイトを送信することになります。

今回の記事では、動作設定データの1バイトの詳細を説明します。

動作設定レジスタ詳細

次の図は動作設定の1バイトデータの詳細です。

以下にそれぞれのビットの意味を説明します。

解像度(bit7)

ADT7410は温度を計測する際、16ビットで計測するか13ビットで計測するか選択できます。

16ビット計測時、測定温度の分解能は0.0078度、13ビット計測時は0.0625度になります。

このビットの値は以下の意味になります。

意味
013ビット測定モード
116ビット測定モード

実践編では少数第2位まで表示しますので、分解能は16ビット(=1)に設定します。

測定モード(bit6・bit5)

温度計測をどのようなタイミングで測定するかの設定です。

測定モードとしては以下の4種類があります。

  • 次々に休みなく測定するモード
  • マスターから測定指示をした場合に測定するモード
  • 1秒間に1回測定するモード
  • スリープモード

bit6とbit5の2ビットは以下の意味になります。

意味
00連続測定モード
1秒間に何回も測定するため消費電力は大きくなります
01指示した時のみ測定するモード
このビットに01を書き込むと測定してくれます。測定には約240msかかりますので、測定データの取得は工夫が必要です。
(具体的にはステータスレジスタで新しいデータが測定されたから確認後、測定データを取得します)
101秒間に1回測定するモード
11スリープモード
スリープ指定した場合、I2C通信以外はスリープします。スリープ中でもI2C通信は可能です。

実践編では連続測定モード(0b00)で使用します。

INT/CTモード(bit4)

INTピンとCTピンの動作モードの設定ですが、今回使用するモジュールではINT/CTピンは使用できませんので説明は省略します。

使用しない場合、設定値は0で問題ありません。

INT論理(bit3)

INT信号の正論理/負論理指定です。

今回使用するモジュールではINT/CTピンは使用できませんので説明は省略します。

使用しない場合、設定値は0で問題ありません。

CT論理(bit2)

CT信号の正論理/負論理指定です。

今回使用するモジュールではINT/CTピンは使用できませんので説明は省略します。

使用しない場合、設定値は0で問題ありません。

INT/CT回数(bit1・bit0)

INT/CTの割り込み信号は、INT/CT設定温度を上回ったあるいは下回った場合に発生しますが、何回上回った/下回った場合に発生させるかの設定です。

今回使用するモジュールではINT/CTピンは使用できませんので説明は省略します。

使用しない場合、設定値は0b00で問題ありません。


動作設定レジスタで使用するところは少なく、16ビットモードでの測定設定を行うのみですので、動作設定の1バイトデータは「0x80」になります。

次回は取得した測定データ2バイトの温度データへの変換方法を説明します。

更新履歴

日付内容
2018.8.12新規投稿
2025.8.18説明図更新
通知の設定
通知タイミング
guest
0 コメント
新しい準
古い順 一番投票が多い
本文中にフィードバック
全てのコメントを見る
目次