Arduino - 读取模拟电压

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

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

所需组件

您将需要以下组件-

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

来源:LearnFk无涯教程网

  • 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中打开串行监视器。

无涯教程网

Serial Monitor

输出结果

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

朱赟的技术管理课 -〔朱赟〕

从0开始学游戏开发 -〔蔡能〕

从0开始学大数据 -〔李智慧〕

MySQL实战45讲 -〔林晓斌〕

雷蓓蓓的项目管理实战课 -〔雷蓓蓓〕

接口测试入门课 -〔陈磊〕

软件设计之美 -〔郑晔〕

Linux内核技术实战课 -〔邵亚方〕

乔新亮的CTO成长复盘 -〔乔新亮〕

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