/**/

Arduino - 读取模拟电压

首页 / Arduino入门教程 / Arduino - 读取模拟电压

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

所需组件

您将需要以下组件-

  • 1×Breadboard
  • 1×Arduino Uno R3
  • 1×5K可变电阻器
  • 2×跳线

电路图

遵循电路图,并将面包板上的组件连接起来,如下图所示。

Analog Breadboard

电位器

电位计是一个简单的机电转换器,它将来自输入操作器的旋转或线性运动转换为电阻的变化。

我们所知道的电位计最初称为变阻器,现在可用的锅种非常惊人,对于初学者可能很难确定哪种类型适合于给定的任务。几种不同的锅类型都可以用于同一任务,这会使工作更加困难。

无涯教程网

电位器

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

Arduino代码

/*
   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.
*/

//当您按下重置时,设置例程运行一次:

void setup() {
   //以每秒 9600 位的速度初始化串行通信:
   Serial.begin(9600);
}

//循环例程永远一遍又一遍地运行:

void loop() {
   //读取模拟引脚 0 上的输入:
   int sensorValue=analogRead(A0);
   //将模拟读数(从 0 - 1023)转换为电压(0 - 5V):
   float voltage=sensorValue * (5.0/1023.0);
   //打印出您读取的值:
   Serial.println(voltage);
}

注意代码

在下面给出的程序或示意图中,设置函数中要做的第一件事是通过以下命令开始以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中打开串行监视器。

链接:https://www.learnfk.comhttps://www.learnfk.com/arduino/arduino-reading-analog-voltage.html

来源:LearnFk无涯教程网

Serial Monitor

输出结果

您会看到源源不断的数字,范围从0.0-5.0。转动电位计时,其值将改变,对应于引脚A0处的电压。

这一章《Arduino - 读取模拟电压》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

猜你喜欢

OpenResty从入门到实战 -〔温铭〕

后端存储实战课 -〔李玥〕

Selenium自动化测试实战 -〔郭宏志〕

手把手带你写一门编程语言 -〔宫文学〕

如何计算 pandas 数据框中一系列单元格中 2 个值以内的单元格?

在 C# 中,如何提取构成 UInt128 的两个 UInt64 值?

Getx Flutter 在更新值时抛出空错误

如何将函数的每个参数转换为任何特定类型?

R:在组内创建元素组合并在新数据框中添加与组合相关的数字

为什么常量属性可能在 Swift 类中被初始化两次?

视频教程

Arduino - 1-23 mc猜数字 - 5 自定义函数 更多视频教程 »