Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于arduino uno的LM35温度塞诺方程,连接到matlab GUI_Matlab_Arduino_Equation_Adc_Analog Digital Converter - Fatal编程技术网

用于arduino uno的LM35温度塞诺方程,连接到matlab GUI

用于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

嗨,我是MatlabGUI新手

我正试图创建一个坐标图,显示从LM35到arduino uno再到matlab的温度

我使用以下代码读取模拟电压,
readVoltage(a,0)

我得到的值大约是0.28-0.30,但我不知道这个值的确切含义是什么,是真实的温度/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
    
    (当然以摄氏度表示)

    顺便说一句,我建议您将参考电压更改为内部参考电压,因为5V电压不稳定且不够精确,无法提供良好的测量系统。更多信息


    当然,如果你改变参考电压,你需要改变方程,因为参考电压本身不再是5V。

    谢谢,但我的问题是关于ADC和readVoltage()命令的,我认为它是直接给我输入电压还是什么?哦,对不起。当我读Matlab时,我以为你只是用它来显示而不是编程Arduino。我的错。无论如何在matlab中,您只有
    readVoltage
    ,它给出了转换后的电压。在arduino IDE的另一端,您有
    analogRead
    ,它提供ADC读数(即0-1023)。您可以找到一些关于
    readVoltage
    功能的文档。