模拟电压读取方法
为了测量温度,我们需要测量电阻。然而,微控制器没有内置电阻表。相反,它只有一个称为模数转换器的电压读数器。因此,我们要做的是将电阻转换为电压,我们将通过添加另一个电阻并将它们串联连接来实现。现在你只需测量中间的电压,随着电阻的变化,电压也会根据简单的分压器方程变化。我们只需要保持一个电阻器固定
假设固定电阻为 10K ,可变电阻称为 R - 电压输出(Vo)为:
Vo = R /(R + 10K)* Vcc
其中 Vcc 是电源电压(3.3V或5V)
现在我们想将它连接到微控制器。请记住,当您测量到Arduino ADC 的电压(Vi)时,您将获得一个数字。
ADC值= Vi * 1023 / Varef
所以现在我们将两者结合起来(Vo = Vi)并得到:
ADC值= R /(R + 10K)* Vcc * 1023 / Varef
好的是,如果您注意到,如果Vcc(逻辑电压)与ARef模拟参考电压相同,则值会抵消!
ADC值= R /(R + 10K)* 1023
你正在运行什么电压并不重要。便利!
最后,我们真正想做的是获得 R (未知阻力)。所以我们做一点数学运算将 R 移到一边:
R = 10K /(1023 / ADC - 1)
很多人都通过电子邮件告诉我上面的公式是错误的,正确的计算是R = 10K * ADC /(1023 - ADC)。他们的等同性留给读者练习!;)
好的,让我们试一试。如图所示连接热敏电阻: