Dude... I LOVE YOU!! I've been using all kinds of Thermistor guides that I could find with Google and all were total shit. This is the first one that works after 3 hours of searching and trying make it work. I'm a noob, no judging :D
I bought a thermistor automotive 1/8”Npt but it didn’t come with any information at all since it was supposed to be used with a specific temperature gauge. I have used a thermometer and boiled some water to plot a resistance/temperature graph. At boiling temperature I measured 96.5C so perhaps it’s not very accurate. Also if the temperature increases to quickly the two thermistors can have different reaction times. Based on the raw data I have calculated the a,b,c values. Bellow 14C I use the beta function. Next I made an excel table with all the values from -35C to 192C in my case, used concaternate function to add a “,” after each value and copy paste the values into the internet browser header that makes them a series of numbers line -36,-34,-30... instead of a column then pasted it on a vector in arduino like temp[907]={-36,-34,-30,...} so that it doesn’t calculate the logarithms to make it faster. But that’s only if you don’t need decimal places otherwise the vector gets too long, like tens of thousands of values
Pretty great video. I was wondering about the equation... Doesn't the Steinhart-Hart equation only requires 3 coefficients? Your datasheet's shows 4 and an a ln squared term. Maybe the 4 coefficients equation is more accurate idk. Also little fun fact: at our job how our hvac controllers work, thermistor input configurations use a lookup table of values for figuring out the temperature that is read.
Glad I could help. Not sure what components you will use in your project, but if you run out of memory, take a look at a Teensy 3.2 I use them 99% of the time as they are faster and more capable.
Hi Kris, thanks for the video, I pulled a thermistor from old laptop battery works great How do I change code to get only 1 decimal place and slow down refresh alittle to slow numbers flicking between each other ? cheers Brett
Wow, super informative. I want to use thermistor to monitor respiratory rate. What is the max sampling rate of the thermistor for this? Is the detection almost instantaneous? thank you so much!
@@KrisKasprzak it seems I have a pt100 type thermistor. I didn't know it but this is the item needed for this application. Any chance you have any experience with these thermistors?
@@ramav2578 I think I know the answer here but put it on meter across your thermistor and then heat up your thermistor. What happens to the resistance?
An analog pin will read the number of bits measured for the 10 bit device. That would be a maximum of 1024 bits since the max voltage is five. Since the goal is to get volts, you have to use a conversion factor 5 V divided by 1024 which is 204.6.
@@KrisKasprzak after some great staring I figured it out. So you had 1023/5=204.6… I am using 3.3 volts as my reference so I used (1023/vref). Thank you for this! I had a couple tutorials help with this. Yours helped me get the proper resistance reading and another helped me convert the resistance to temp reading. A beautiful exercise and always exciting when it works
2:10 You could've simplified the math. Because Vo=ViR1/(R1+R2) => R2=(Vi/Vo-1)R1 So this would've given the same result and could've saved some people from the algebra phobia 😉
Dude... I LOVE YOU!! I've been using all kinds of Thermistor guides that I could find with Google and all were total shit. This is the first one that works after 3 hours of searching and trying make it work. I'm a noob, no judging :D
Glad I could help.
I bought a thermistor automotive 1/8”Npt but it didn’t come with any information at all since it was supposed to be used with a specific temperature gauge. I have used a thermometer and boiled some water to plot a resistance/temperature graph. At boiling temperature I measured 96.5C so perhaps it’s not very accurate. Also if the temperature increases to quickly the two thermistors can have different reaction times.
Based on the raw data I have calculated the a,b,c values. Bellow 14C I use the beta function. Next I made an excel table with all the values from -35C to 192C in my case, used concaternate function to add a “,” after each value and copy paste the values into the internet browser header that makes them a series of numbers line -36,-34,-30... instead of a column then pasted it on a vector in arduino like temp[907]={-36,-34,-30,...} so that it doesn’t calculate the logarithms to make it faster. But that’s only if you don’t need decimal places otherwise the vector gets too long, like tens of thousands of values
Thank you for doing this! It's of BIG help to my DYI projects.
You can edit the fonts that are in the gfx library that is to say if you can change the size of the letter, the advance of the cursor the ofset
Pretty great video. I was wondering about the equation... Doesn't the Steinhart-Hart equation only requires 3 coefficients? Your datasheet's shows 4 and an a ln squared term.
Maybe the 4 coefficients equation is more accurate idk.
Also little fun fact: at our job how our hvac controllers work, thermistor input configurations use a lookup table of values for figuring out the temperature that is read.
Not sure about that equation, I just followed the datasheet.
Really like this video thanks. i want to make a program that has 3 temp sensors and this will help me alot. mainly with the calculations side of it.
Glad I could help. Not sure what components you will use in your project, but if you run out of memory, take a look at a Teensy 3.2 I use them 99% of the time as they are faster and more capable.
Hi Kris, thanks for the video, I pulled a thermistor from old laptop battery works great
How do I change code to get only 1 decimal place and slow down refresh alittle to slow numbers flicking between each other ? cheers Brett
Use Serial.println(floating value, no. of decimal places)
Example: Serial.println(1.23456, 4) gives "1.2346"
Wow, super informative. I want to use thermistor to monitor respiratory rate. What is the max sampling rate of the thermistor for this? Is the detection almost instantaneous? thank you so much!
According to the data sheet response time is 1.2 seconds (submersed in oil), I suspect air will be slower.
I am getting an error for tempK not declared (the long equation)
not find Code for writing to a 480 x 320 display ?
You will have to be more specific than that
@@KrisKasprzak
I can't download (Code for writing to a 480 x 320 display) The link is corrupt
Amazing! Thank you very much.
Your're very welcome.
Any chance you are still around and can answer why my temperature values reduce when I warm the thermistor?
I'm guessing you have your thermistor wired on the high side of your voltage divider or you don't have an NTC type thermistor
@@KrisKasprzak it seems I have a pt100 type thermistor. I didn't know it but this is the item needed for this application. Any chance you have any experience with these thermistors?
@@ramav2578 never used one but from what i can see its and NTC device. Is one end gets connected to ground?
@@KrisKasprzak yes one side goes tot the negative and the other side is connected between a resistor and the A0 pin
@@ramav2578 I think I know the answer here but put it on meter across your thermistor and then heat up your thermistor. What happens to the resistance?
Great tutorial, thank you a lot
Glad I could help
Can I get code for lcd i2c 16×2 display?
the only way I could get my generic thermistor to serial write the correct temp was to adjust R1 value manually in the sketch.
why do you divide vo by 204.6?
An analog pin will read the number of bits measured for the 10 bit device. That would be a maximum of 1024 bits since the max voltage is five. Since the goal is to get volts, you have to use a conversion factor 5 V divided by 1024 which is 204.6.
@@KrisKasprzak after some great staring I figured it out. So you had 1023/5=204.6… I am using 3.3 volts as my reference so I used (1023/vref). Thank you for this! I had a couple tutorials help with this. Yours helped me get the proper resistance reading and another helped me convert the resistance to temp reading. A beautiful exercise and always exciting when it works
2:10 You could've simplified the math. Because Vo=ViR1/(R1+R2)
=> R2=(Vi/Vo-1)R1
So this would've given the same result and could've saved some people from the algebra phobia 😉
Man what dafuk?