【问题标题】:LM35 temp sesnor equation for arduino uno which connected to matlab GUI连接到 matlab GUI 的 arduino uno 的 LM35 温度传感器方程
【发布时间】:2015-05-19 10:51:35
【问题描述】:

你好,我是 matlab GUI 新手

我正在尝试创建一个轴来绘制从 LM35 到 arduino uno 到 matlab 的温度

我使用以下代码读取模拟电压,readVoltage(a,0) 我得到一个大约 0.28 - 0.30 的值,但我不知道这个值到底意味着什么,它是真正的 temperature/100 还是什么?我知道当我在 arduino 端使用analogRead() 时,arduino 内部有一个 ADC 将输入电压转换为另一个范围(0-1023)。它在这里也有效吗?当我应该假设它是 0-1023 或直接获取读数时,我对此感到困惑。

【问题讨论】:

    标签: matlab arduino equation adc analog-digital-converter


    【解决方案1】:

    arduino ADC读取一个电压并根据输出一个数字

    1. 参考电压
    2. 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 不稳定且不够精确,无法拥有良好的测量系统。更多信息here

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

    【讨论】:

    • 谢谢,但我的问题是关于 ADC 和 readVoltage() 命令,我认为它在 matlab 方面是直接给我输入电压还是什么?
    • 哦,对不起。当我阅读 Matlab 时,我以为您只是用于显示而不是对 Arduino 进行编程。我的错。无论如何......在matlab中你只有readVoltage,它给你转换后的电压。另一方面,在 arduino IDE 中,您有 analogRead,它为您提供 ADC 读数(即 0-1023)。 Here 你可以找到一些关于 readVoltage 函数的文档。
    猜你喜欢
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多