用于arduino uno的LM35温度塞诺方程,连接到matlab GUI
嗨,我是MatlabGUI新手 我正试图创建一个坐标图,显示从LM35到arduino uno再到matlab的温度 我使用以下代码读取模拟电压,用于arduino uno的LM35温度塞诺方程,连接到matlab GUI,matlab,arduino,equation,adc,analog-digital-converter,Matlab,Arduino,Equation,Adc,Analog Digital Converter,嗨,我是MatlabGUI新手 我正试图创建一个坐标图,显示从LM35到arduino uno再到matlab的温度 我使用以下代码读取模拟电压,readVoltage(a,0) 我得到的值大约是0.28-0.30,但我不知道这个值的确切含义是什么,是真实的温度/100还是什么?我知道在arduino侧使用analogRead()时,arduino内部有一个ADC将输入电压转换到另一个范围(0-1023)。它在这里也起作用吗?当我假设它是0-1023或直接获取读数时,我对这件事感到困惑。ardu
readVoltage(a,0)
我得到的值大约是0.28-0.30,但我不知道这个值的确切含义是什么,是真实的温度/100还是什么?我知道在arduino侧使用
analogRead()
时,arduino内部有一个ADC将输入电压转换到另一个范围(0-1023)。它在这里也起作用吗?当我假设它是0-1023或直接获取读数时,我对这件事感到困惑。arduino ADC读取电压并根据电压输出数字
Vmeasured = NumberFromADC * 5V / 1024
现在,根据LM35数据表,输出电压为
Vout = 10mV/°C * T
倒转方程式:
T = Vout / (10mV/°C) = NumberFromADC * 5V / 1024 / (10mV/°C) = NumberFromADC * 500 / 1024
(当然以摄氏度表示)
顺便说一句,我建议您将参考电压更改为内部参考电压,因为5V电压不稳定且不够精确,无法提供良好的测量系统。更多信息
当然,如果你改变参考电压,你需要改变方程,因为参考电压本身不再是5V。谢谢,但我的问题是关于ADC和readVoltage()命令的,我认为它是直接给我输入电压还是什么?哦,对不起。当我读Matlab时,我以为你只是用它来显示而不是编程Arduino。我的错。无论如何在matlab中,您只有
readVoltage
,它给出了转换后的电压。在arduino IDE的另一端,您有analogRead
,它提供ADC读数(即0-1023)。您可以找到一些关于readVoltage
功能的文档。