TMP100 온도 센서 테스트를 위한 SSM Type EVM 형태로 제작 했다.
- ±1°C (Typical) from –55°C to 125°C
- ±2°C (Maximum) from –55°C to 125°C
- Resolution: 9 to 12 Bits, User-Selectable
- Low Quiescent Current: 45-μA, 0.1-μA Standby
TMP100 레지스터
TMP100 Configuration 레지스터
TMP100 초기화 코드
void init_tmp100(unsigned char Addr)
{
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Select configuration register
Wire.write(0x01);
// Set continuous conversion, comparator mode, 12-bit resolution
Wire.write(0x60);
// Stop I2C Transmission
Wire.endTransmission();
}
TMP100 온도 데이터 수신 함수
float read_temp(unsigned char address)
{
byte temp_reg = 0;
byte data[2];
float temp=.0;
Wire.beginTransmission(address); // Start transmission
Wire.write((byte)temp_reg); // 온도 레지스터
Wire.endTransmission(); // Stop transmission
Wire.requestFrom(address, 2); // I2C 데이터 요청
data[0] = Wire.read();
data[1] = Wire.read();
temp= (((data[0] * 256) + (data[1] & 0xF0)) / 16) * 0.0625;
return(temp);
}
반응형