For a while, I’ve wanted to take another look at my CC3200 LaunchPad. For one thing, it has a temperature sensor that I wanted to get working. I also wanted another crack at programming the device because small, wifi enabled, Arduino compatible boards are now prolific and are handy for inexpensively implementing sensors for use in projects around the home.
The CC3200 features the TMP006, a very common temperature sensor included on a variety of boards, like the ones available from Adafruit. In fact, Adafruit’s TMP006 library comes packaged with Energia, a development environment geared for CC3200 LaunchPad and other devices.
Initially, I thought the onboard TMP006 was designed to provide ambient temperature readings, but it’s actually more sophisticated than that. The first clue is in the functionality exposed by the library. It provides two functions that return temperature readings from the sensor, readDieTempC and readObjTempC.
Why two temperature readings? Well, according to the TI’s datasheet, “The TMP006 and TMP006B are fully integrated MEMs thermopile sensors that measure the temperature of an object without having to be in direct contact.” In other words, readObjTempC reports the temperature of whatever it’s aimed at. How cool is that?
What about readDieTempC? Looking at section 5 of the TMP006 User’s Manual, it becomes clear that the die temperature is important for calibrating the device and is used to compensate for its own heat emission. A handful of equations are provided to help you calculate accurate readings.
I haven’t done anything beyond proving I can get values from the sensor, but I plan to experiment with it more, in the near future.