我看到像
这样的公式temp = (5*val*100/1024)
有谁能告诉我这个公式的细节?
答案 0 :(得分:5)
事实总是位于数据表中:
您的Atmega由5V供电,Atmega的数据表表明其ADC具有1024个值(即10位)的定义。因此,在您的公式中,5/1024
表示由位表示的每个电压阶跃:
0.0000V -> 0b0000000000
0.0048V -> 0b0000000001
...
5.0000V -> 0b1000000000
如果您阅读LM35数据表中的应用说明,您将找到以下公式:
Vout=10mV/°C
如果您将LM35与200欧姆电阻绑定。因此,如果您使用三条规则,您将获得:
Vout=0.01/°C
°C=Vout/0.01
°C=Vout/0.01
°C=Vout*100
HTH
答案 1 :(得分:1)
代表Arduinos;
val = analogRead(tempPin);
float mv = ( val/1024.0)*5000;
float cel = mv/10;