![使用带有 LPC1768 的温度传感器 Lm35 计算温度](https://linux22.com/image/1374535/%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%20LPC1768%20%E7%9A%84%E6%B8%A9%E5%BA%A6%E4%BC%A0%E6%84%9F%E5%99%A8%20Lm35%20%E8%AE%A1%E7%AE%97%E6%B8%A9%E5%BA%A6.png)
我已将 LM35 连接到 LPC1768 的 ADC 通道 1。得到的值为 306(adc 读数)。
Vref =5V
对于 12 位 ADC
Step size = 5V/4096=1.22mV
计算输出电压。
Vout in mV = adc_reading * Step size = 306 * 1.22mV= 373.32mV
LM35 传感器每 1 摄氏度输出 10mV。因此测量的温度是
373.32/10= 37 degree centigrade
但班加罗尔的气温读数为27摄氏度。
指的是Mazidi 的《AVR 微控制器和嵌入式系统》一书, ADC 的数字输出按以下公式计算
Vout = analog input voltage/step size
如果使用上述公式计算 Vout,则 o/p 电压为
Vout = 306/1.22=250.819mV
电压到温度的转换 = 250.819mV/10mV = 25.08 摄氏度。
无法弄清楚什么是正确的。请帮忙。抱歉问了这么愚蠢的问题。
还将 LDR 连接到 LPC1768 的 ADC 通道 0。计算测量的输出电压
Vout = adc_reading*step size.
for adc_reading = 55-> vout = 0.064713
adc_reading = 3245-> vout = 3.962149
adc_reading = 4095-> vout = 4.999995
也许你们这些专家可以对此作出解释。我很困惑为什么我无法根据我所在的城市获得正确的温度。
答案1
我使用 5V 作为 VCC,而不是 3V3。现在获得了正确的温度。