请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
主题中讨论的其他器件:TMP102需要 I2C 通信和温度解码入门帮助。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
此示例也适用于 TMP102。
#include <Wire.h>
#define TMP112Addr 0x49
/* Address Pin Options:
* GND 1001000 0x48
* V+ 1001001 0x49
* SDA 1001010 0x4A
* SCL 1001011 0x4B
*/
void setup() {
Wire.begin();
Serial.begin(9600);
}
void loop() {
Wire.beginTransmission(TMP112Addr);
Wire.write(0x0); /* Write Pointer=0 to select Temperature Register */
Wire.endTransmission();
Wire.requestFrom(TMP112Addr, 2); /* Request 2 bytes */
int16_t ret = (Wire.read() << 8) | Wire.read();
float tempC = (ret >> 4) * 0.0625;
Serial.println(tempC);
delay(500);
}
这会将温度以摄氏度为单位打印到串行监视器。 需要注意的是、在有符号16位数据类型中存储/转换16位结果将根据需要正确地将其转换为负数。 下面是串行绘图仪、其中显示了应用于传感器的冻结喷雾脉冲、并正确地对负温度进行了解码:
