I know that data sheet is in Chinese, but the important parts are all pretty clear still.
It seems that the thermistor is reading "normal" when the temperature is ~70 and up, but below that, the temperature appears to be lower than supposed to be; and it gets worst the colder it gets.
I think this is a coding problem, but I'm not sure how to fix it!
Your thermister is a resistor that changes resistance values as it''s temperature changes. Did you confirm the resistance at the recommended temperature? That is all it does. The rest of the process is however you have the thermister circuit wired up. Then is depends on your program.
Did you calibrate your project against a known thermometer?
Are you trying this on a 32-bit processor based board? If so, use 'double' instead of float. If you're on an 8-bit AVR, that could be as good as it gets.
Yeah, I know that is what a thermistor is. It is also not linear, so I figured some of my math was wrong lol.
I have my circuit setup the same way as in the tutorial I linked. First thermistor pin to +5V, second thermistor pin to A0, with a 10k resistor from A0 to GND.
Funny enough, I don't have a working thermometer to check! I did put it in my fridge though (which has a thermometer builtin), and it consistently showed 7 degrees lower than the actual thermometer (at 37˚).
I also put it outside, and it read about ~7 degrees lower than what the weather app on my phone says.