通过对Arduino和分压器电路的简单了解,我们可以将Arduino转换为数字电压表,并可以使用Arduino和16x2 LCD显示器测量输入电压。
Arduino有几个模拟输入引脚,连接到Arduino内部的模数转换器(ADC)。Arduino ADC是一个十位转换器,这意味着输出值的范围为0到1023。我们将使用 analogRead() 函数获取此值。如果您知道基准电压,则可以轻松计算模拟输入端的电压。我们可以使用分压器电路来计算输入电压。
测量的电压显示在 16x2 液晶显示器 (LCD) 上。我们还在Arduino IDE的串行监视器中显示了电压,并使用万用表确认了测量的电压。
所需硬件:
Arduino uno
16x2 液晶显示器(液晶显示器)
100 k 欧姆电阻器
10 k 欧姆电阻器
10 k 欧姆电位计
面包板
跳线
分压器电路:
在进入此Arduino电压表电路之前,让我们讨论一下分压器电路。
分压器是一种电阻电路,如图所示。在这个电阻网络中,我们有两个电阻器。如图所示,R1和R2分别为10k和100k欧姆。分支的中点作为Arduino的异常输入进行测量。R2两端的压降称为Vout,这是我们电路的分压。
公式:
使用已知值(两个电阻值R1、R2和输入电压),我们可以在下面的公式中代入以计算输出电压。
Vout = Vin (R2/R1+R2)
该公式表明输出电压与输入电压以及R1和R2的比值成正比。
通过在Arduino代码中应用此公式,可以轻松推导出输入电压。Arduino只能测量+55v的直流输入电压,换句话说,当测量55V时,Arduino模拟引脚将处于其最大电压5V,因此在此限制内测量是安全的。此处,电阻R2和R1值设置为100000和10000,即比率为100:10。
电路图和连接:
此Arduino数字电压表的连接很简单,如下图所示:
LCD 的引脚 DB4、DB5、DB6、DB7、RS 和 EN 直接连接到 Arduino Uno 的引脚 D4、D5、D6、D7、D8、D9
构成分压器电路的两个电阻R1和R2的中心点连接到Arduino引脚A0。而其他 2 端连接到输入电压(待测量电压)和 GND。
编码说明:
用于测量直流电压的完整Arduino代码在下面的代码部分中给出。代码很简单,很容易理解。
代码的主要部分是借助上述给定方程Vout = Vin(R2 / R1 + R2)将给定的输入电压转换并映射到显示的输出电压。如前所述,Arduino ADC输出值的范围为0到1023,Arduino最大输出电压为5v,因此我们必须将A0处的模拟输入乘以5/1024才能获得实际电压。
void loop()
{
int analogvalue = analogRead(A0);
temp = (analogvalue * 5.0) / 1024.0; // FORMULA USED TO CONVERT THE VOLTAGE
input_volt = temp / (r2/(r1+r2));
在这里,我们在Arduino的LCD和串行监视器上显示了测量的电压值。因此,在代码中,Serial.println用于在串行监视器上打印值,lcd.print用于在16x2 LCD上打印值。
Serial.print("v= "); // prints the voltage value in the serial monitor
Serial.println(input_volt);
lcd.setCursor(0, 1);
lcd.print("Voltage= "); // prints the voltage value in the LCD display
lcd.print(input_voltage);
-
直流电压
+关注
关注
1文章
299浏览量
20125 -
Arduino
+关注
关注
188文章
6469浏览量
186969
发布评论请先 登录
相关推荐
评论