- Arduino 教程
- Arduino - 首页
- Arduino - 概述
- Arduino - 开发板描述
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - 变量与常量
- Arduino - 运算符
- Arduino - 控制语句
- Arduino - 循环
- Arduino - 函数
- Arduino - 字符串
- Arduino - 字符串对象
- Arduino - 时间
- Arduino - 数组
- Arduino 函数库
- Arduino - I/O 函数
- Arduino - 高级 I/O 函数
- Arduino - 字符函数
- Arduino - 数学库
- Arduino - 三角函数
- Arduino 高级
- Arduino - Due 和 Zero
- Arduino - 脉宽调制
- Arduino - 随机数
- Arduino - 中断
- Arduino - 通信
- Arduino - 集成电路
- Arduino - 串行外设接口
- Arduino 项目
- Arduino - 闪烁 LED
- Arduino - 渐变 LED
- Arduino - 读取模拟电压
- Arduino - LED 条形图
- Arduino - 键盘注销
- Arduino - 键盘消息
- Arduino - 鼠标按钮控制
- Arduino - 键盘串口
- Arduino 传感器
- Arduino - 湿度传感器
- Arduino - 温度传感器
- Arduino - 水位检测器/传感器
- Arduino - PIR 传感器
- Arduino - 超声波传感器
- Arduino - 连接开关
- 电机控制
- Arduino - 直流电机
- Arduino - 伺服电机
- Arduino - 步进电机
- Arduino 和声音
- Arduino - 音调库
- Arduino - 无线通信
- Arduino - 网络通信
- Arduino 有用资源
- Arduino - 快速指南
- Arduino - 有用资源
- Arduino - 讨论
Arduino - 读取模拟电压
此示例将向您展示如何在模拟引脚 0 上读取模拟输入。输入通过 analogRead() 函数转换为电压,并打印到 Arduino 软件(IDE)的串行监视器中。
所需组件
您将需要以下组件 -
- 1 × 面包板
- 1 × Arduino Uno R3
- 1 × 5K 可变电阻器(电位器)
- 2 × 跳线
步骤
按照电路图,将组件连接到面包板上,如下图所示。
电位器
电位器(或电位计)是一种简单的机电换能器。它将来自输入操作器的旋转或线性运动转换为电阻的变化。这种变化被(或可以被)用于控制任何东西,从高保真音响系统的音量到大型集装箱船的方向。
我们所知的电位器最初被称为电阻器(本质上是一个可变绕线电阻器)。现在可用的电位器的种类非常多,对于初学者(尤其是)来说,很难确定哪种类型适合于特定的任务。几种不同的电位器类型,都可以用于相同的任务,这使得工作更加困难。
左侧的图片显示了电位器的标准示意图符号。右侧的图片是电位器。
草图
在您的计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。通过点击“新建”打开一个新的草图文件。
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. */ // 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); }
代码注释
在下面给出的程序或草图中,您在 setup 函数中首先要做的事情是开始串行通信,在您的开发板和计算机之间以 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 中打开串行监视器。
结果
您将看到一连串从 0.0 到 5.0 的数字。当您旋转电位器时,值将发生变化,对应于 A0 引脚上的电压。