嗨,我是新来的matlab gui
我试图创建一个轴绘制从LM35到Arduino Uno到Matlab
的温度我使用以下代码读取模拟电压,readVoltage(a,0)
我得到的值约为0.28-0.30,但我不知道这是什么含义是真正的temperature/100
还是什么?我知道当我在Arduino侧使用analogRead()
时,Arduino内部的ADC将输入电压转换为另一个范围(0-1023)。它在这里也有效吗?当我应该假设它是0-1023或直接获取阅读时,我对此感到困惑。
arduino adc读取电压并根据
输出数字- 参考电压
- ADC的位宽度
在这种情况下,我想您正在使用5V参考和10位模式,所以
Vmeasured = NumberFromADC * 5V / 1024
现在,根据LM35数据表,输出电压为
Vout = 10mV/°C * T
反转公式:
T = Vout / (10mV/°C) = NumberFromADC * 5V / 1024 / (10mV/°C) = NumberFromADC * 500 / 1024
(当然在°C表示)
顺便说一句,我建议您将电压引用更改为内部电压,因为5V不稳定且精确,以具有良好的测量系统。更多信息在这里。
,当然,如果您更改参考电压,则需要更改方程式,因为参考本身将不再是5V。