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.

[FAQ] [参考译文] [常见问题解答] TMP112:Arduino 或 Energia 示例

Guru**** 633810 points
Other Parts Discussed in Thread: TMP102
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1189206/faq-tmp112-arduino-or-energia-example

主题中讨论的其他器件:TMP102

需要 I2C 通信和温度解码入门帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此示例也适用于 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位结果将根据需要正确地将其转换为负数。 下面是串行绘图仪、其中显示了应用于传感器的冻结喷雾脉冲、并正确地对负温度进行了解码: