The problem is the temperature readings. The temperature values output to the debug window are in the 37’ - 40’ F range… inside my house. This is obviously wrong as I’m sitting in my office wearing shorts and a t-shirt. The thermostat that actually runs my heating system says 63’F as does a small thermometer sitting across the room.
I get raw ambient readings from the thermometer eblock in the 3 - 4 range and, if I blow on the probe or hold it in my hands, the readings increase to 9 - 12.
I used the code as-in from the above tutorial, minus the logging to thingspeak. How do I troubleshoot this issue?
Search the forum for similar issues. I believe the issue has come up and been solved several times already.
Make sure your voltage is right on the eBlock. The analog pins can read up to 3.3V. The eBlocks are powered by 5V. I have a hunch this may be your issue as 3.3/5 (0.66) is roughly equal to 40/63 (0.63). The eBlock is a linear thermistor (google or wikipedia that term).
This line of code is suspect:
thermometer.SetLinearScale(-22, 56);
That correlates to 0.0V = -22 and 3.3V = 56. This may be correct for the provided thermistor, but that needs to be confirmed. An easy way to check is check the temp of ice water and see what raw voltage it returns by using
thermometer.SetLinearScale(0, 3300);
These should get you started on solving the issue.
If an analog sensor with a voltage range of 0 to 5 volts connect to an analog pin of the USBizi then all voltages from 3.3 volts to 5 volts would been measured of 3.3 volts. You lose a part of of your measurement range.
The subsequent use of the SetLinearScale in the driver make the result foggy.
@ ransomhall, the issue was the jumper setting on the connect shield. After setting the jumper for 5V, the temperature readings were closer to what I was expecting.