请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
主题中讨论的其他器件: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位结果将根据需要正确地将其转换为负数。 下面是串行绘图仪、其中显示了应用于传感器的冻结喷雾脉冲、并正确地对负温度进行了解码: