×

Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Initial Force

Member Since: November 24, 2012

Country: United States

  • Just got done doing a 0.2C step test. Works pretty well with minimal fluctuation (I got a reading of 24.4C with every 3-5 reading set giving me 24.6C with a readout interval of 1 second). Change your map line to this using int values: TempReadingCelcious = map(TempReading, 50, 882, -400, 1250); TempReadingFahrenheit = (1.8 * TempReadingCelcious) + 320; Taking an additional set of average readings smooths out the fluctuation (I take 5 base readings, average, take 5 averages and average again).

    You will get 3 digit readings: 244 which equals 24.4C. Fahrenheit goes in 0.4F steps using this.

  • The sensor has an off set value of 100mV. -40C = 100mV; 25C = 750mV; 125C = 1750mV. Scroll down to my other comment explaining how to map on the arduino.

  • For you Arduino folks, here is how I got mine to work in regards to mapping the input voltage at a 5V referance: TempReadingCelcious = map(TempReading, 20, 358, -40, 125); Keep in mind that at a 5V referance you get steps 0 - 1023 at 4.8828mV steps (don't use 4.9mV from the Arduino website for actual calculations... you get offset results very quickly). With 10mV steps of the sensor you will run into +-1 degree fluctuation and +-2degree Fahrenheit fluctuation.

    To fix this issue do the following: use analogReference(EXTERNAL) (Make sure you refer to this site so you do not damage your board: http://arduino.cc/en/Reference/AnalogReference ) and limit the reference voltage externally to about 2 volts by connecting the 3.3V out to the AREF pin through a 20k resistor (2 x 10k in series will do the trick). The reason you get about 2 volts (2.030769V +- resistor tolerance) as Reference is due to the internal 32k pull down resistor acting as a voltage divider. The formula is provided on the Arduino site for other voltage calculations.

    To calculate the new mapping we will do the following: 1. New 0 - 1023 resolution = 2030.769mV / 1024 steps = 1.98317mV per step; 2. Calculate your maximum and minimum mapping values. TM36 -40C = 100mV; 25C = 750mV; 125C = 1750mV; 100mV / 1.98317mV = 50.4243 so lets call it 50; 1750mV / 1.98317mV = 882.4256 so lets call it 882; 3. Plug in the new mapping values in the Arduino map line: TempReadingCelcious = map(TempReading, 50, 882, -40, 125);

    I hope this helps everyone that wants to use these for an Arduino project. I get consistent readings at full C steps by taking the average of 5 readings before mapping. I don't own a thermometer so I used my AC thermostat as reference and both my Arduino and thermostat were reading the same temperature. In theory this should let you get down to 0.2C steps accurately but I haven't tried this yet.

No public wish lists :(