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); }