返回介绍

Arduino - 读取模拟电压( Reading Analog Voltage)

发布于 2021-05-21 05:45:03 字数 2644 浏览 1467 评论 0 收藏 0

此示例将向您展示如何读取模拟引脚0上的模拟输入。输入从analogRead()转换为电压,并打印到Arduino软件(IDE)的串行监视器。

组件的要求 (Components Required)

您将需要以下组件 -

  • 1 × Breadboard
  • 1×Arduino Uno R3
  • 1×5K可变电阻(电位器)
  • 2 × Jumper

过程 (Procedure)

按照电路图并连接面包板上的组件,如下图所示。

模拟面包板

电位器(Potentiometer)

电位计(或电位器)是一种简单的机电传感器。 它将来自输入运算符的旋转或线性运动转换为电阻变化。 这种变化是(或可以)用于控制从高保真音响系统的音量到巨大的集装箱船的方向。

我们所知道的锅最初被称为变阻器(一种可变线绕电阻器)。 各种可用的盆现在非常惊人,并且初学者(特别是)可能很难确定哪种类型适合于给定的任务。 一些不同的罐类型,可以全部用于相同的任务,使工作更难。

电位器

左侧的图像显示了锅的标准示意符号。 右边的图像是电位计。

草图 (Sketch)

在您的计算机上打开Arduino IDE软件。 用Arduino语言编码将控制你的电路。 单击“新建”打开新的草图文件。

草图

Arduino代码 (Arduino Code)

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/
// the setup routine runs once when you press reset:
void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0/1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

Code to Note

在下面给出的程序或草图中,您在设置功能中所做的第一件事就是在电路板和计算机之间以每秒9600位的速度开始串行通信 -

Serial.begin(9600);

在代码的主循环中,您需要建立一个变量来存储来自电位计的电阻值(介于0和1023之间,非常适合int数据类型) -

int sensorValue = analogRead(A0);

要将值从0-1023更改为与电压对应的范围,引脚正在读取,您需要创建另一个变量,浮点数并进行一些计算。 要缩放0.0到5.0之间的数字,将5.0除以1023.0并乘以sensorValue -

float voltage= sensorValue * (5.0/1023.0);

最后,您需要将此信息打印到串行窗口。 您可以使用最后一行代码中的Serial.println()命令执行此操作 -

Serial.println(voltage)

现在,通过单击顶部绿色栏右侧的图标或按Ctrl + Shift + M打开Arduino IDE中的串行监视器。

串行监视器

结果 (Result)

您将看到稳定的数字流,范围从0.0到5.0。 当你转动电位器时,数值会改变,对应于引脚A0的电压。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文