NTC 传感器的 Arduino 代码示例
一、通过开尔文公式计算温度(基本代码)
int Ro = 100, B = 3950; // 热敏电阻 K值(如5K、10K、100K), B值(如3950等)
int Rseries = 100; // 串联的电阻值(如10K、100K)
float To = 298.15; // 标称温度
void setup() {
Serial.begin(9600);
}
void loop() {
float Vi = analogRead(26) * (3.3 / 1023.0); /*读取NTC模块的模拟输出,即热敏电阻两端的电压*/
/*1024数值需要根据芯片ADC处理的位数推算10bit代表0-1023位数即1024位)*/
float R = (Vi * Rseries) / (3.3 - Vi); //将测量的电压转换为电阻值,所有电阻单位为千欧姆
float T = 1 / ((1 / To) - ((log(R / Ro)) / B));//在steinhart和hart方程中使用R值计算温度值(开尔文
float Tc = T - 273.15;