Arduino(9) I2C ADT7410を使った温度測定
高精度温度センサーADT7410を使って温度を測定してみました。I2C(アイスクエアーシー)接続の16bit温度センサモジュールです。
Arduinoとの接続
スケッチ
#include <Wire.h>
int ADT7410_ADDR = 0x48;
void setup(void) {
Serial.begin(9600);
Wire.begin();
}
void loop(void) {
uint16_t uiVal; //2バイト(16ビット)の領域
float fVal;
int iVal; //符号ありの整数の値を保持
Wire.requestFrom(ADT7410_ADDR, 2); //2バイト要求
uiVal = (uint16_t)Wire.read() << 8; // 1バイト読み出しで上位にシフト
uiVal |= Wire.read(); // 1バイト読み出して下位にセット
uiVal >>= 3; // シフトで13bit化
if(uiVal & 0x1000) { // 13ビットで符号判定
iVal = uiVal - 0x2000; // マイナスの時 (10進数で8192)
}
else{
iVal = uiVal; //プラスの時
}
fVal = (float)iVal / 16.0; // 温度換算(摂氏)
Serial.println(fVal, 4);
delay(2000);
}














