LM35在接近高温时会降低

时间:2017-03-07 20:35:46

标签: arduino

我的LM35连接到arduino会在接近热量时降低摄氏温度值,并在远离热量时增加值。任何人都可以帮助或知道为什么它会以其他方式工作。

void setup() {
    // put your setup code here, to run once:
    //Start the serial connection with the computer
    //to view the result open the serial monitor 
    // 9600 is the “baud rate”, or communications speed.
    Serial.begin(9600);
}

void loop() {
    delay(2000);
    float tempValue = analogRead(A2);
    // converting that reading to voltage
    float tempVoltage = (tempValue/1024.0)*5.0;
    float tempDegrees = (tempVoltage - 0.5) * 100.0 ;  
    //Multiplying tempDegrees by -1 to make it positive
    tempDegrees =(tempDegrees * -1);
    Serial.println("............................................");
    Serial.println("Degrees");
    Serial.println(tempDegrees);
    delay(2000);
}

2 个答案:

答案 0 :(得分:1)

如果您使用5伏电源供应arduino:

Arduino中的5伏直接转换为ADC输出中的1023

ADC_Outpput * 5000/105 ,其中5000来自5伏特作为毫伏,1024是10 bist分辨率

LM35分辨率以+ 10-mV /°C的速率线性生成

所以 analogVolt = ADC_Outpput * 5000/105

FinalTemperature =(analogVolt - 500)/ 10

答案 1 :(得分:1)

随机出现在您的问题中。我触摸LM35已有6年了:d 但我认为你在-0.5事情上有问题。我真的没有那个! LM35的功能据我所记得的是: T = V / 10mV

您可能想查看数据表,但我非常肯定这是等式。当你从ADC获得电压时,你必须把它放在这个等式中并得到结果。 注意:如果温度精度对您很重要,您还必须归因于温度误差和ADC噪声。