原创 使用“电位器”进行模拟输入的方法

2022-7-27 10:29 342 0 分类: MCU/ 嵌入式
Arduino基础: 读取电压

这篇文章来源于DevicePlus.com英语网站的翻译稿。

本文最初发布在deviceplus.jp网站上,而后被翻译成英语。

目录
  1. 前言
  2. 将模拟值转换为数字值
  3. Arduino的模拟输入
  4. 可以调节电压的电位器
  5. 通过电位器实现模拟输入
  6. 总结

前言

使用数字输入,可以将5V读取为“HIGH”,将0V读取为“LOW”。可以通过状态来判断开关是否已导通。但是,实际上电压不只是5V和0V,而是各种各样。例如,一节AA电池的电压为1.5V,日本家用插座的电压为100V。

Arduino支持模拟输入,以能够读取这些不同的电压。利用模拟输入功能,能够读取逐渐变化的电子元器件的状态。例如,使用“电位器”可以调节亮度或音量,也可以从温度传感器获取当前温度。

voltage can be read from analog input

本文是本系列文章的最后一篇,将介绍使用“电位器”进行模拟输入的方法。

将模拟值转换为数字值

实际的电压不是像1V或5V这样的精确值,而是像5.01342…V这样的无理数,其小数点后的数字是无限不循环的。这样的值是无法通过计算机直接处理的。因此,在电子电路中,会使用一种称为“AD转换器”的机制将模拟值转换为数字值,以便它们可以由计算机处理。Arduino作为标配搭载了AD转换器,可以读取模拟电压值并将其转换为数字值。

AD转换器会将对象电压等分。对于Arduino Uno而言,可以读取0-5V范围内的电压,并会将这些0-5V的电压值分成1023等份。AD转换器会将读取到的模拟电压值转换为最接近等分值的值。例如,如果电压为3V,则“614”是最接近的值。这个值将发送给Arduino使用。

how the analog value is converted to digital value

读取到的多达1023个的整数值将会用于程序处理。但是,输入值不是电压值。如果想知道电压值,可以进行如下计算:
how to calculate the voltage

例如,如果来自AD转换器的值为“614”,则除以1023再乘以5即可得到约3V。

Arduino的模拟输入

要使用Arduino Uno的数字输入功能时,有从A0到A5的6个引脚可用。通过将电子元器件连接到这些引脚上,即可读取施加了多少电压。但是,引脚A4和A5也用于称为“I2C”的数字通信。请注意,在连接传感器或显示器等使用I2C数字通信的电子元器件时,这些引脚不能用于模拟输入。

pins that support analog input

可以调节电压的电位器

“电位器”是一个可以用来调节音量或照明亮度的电子部件。在电位器内部配有电阻元件,并有在电阻元件上移动的引脚。通过移动引脚可以改变电阻。

电位器通常会配有三个引脚。左右两侧的引脚安装在电阻器的两端。中间的引脚可以在电阻元件上移动。如果将中间引脚向右移动,则左侧和中间引脚之间的电阻会增加。反之,如果将中间引脚向左移动,则左侧和中间引脚之间的电阻会减小。

how the volume works

在上图中,电阻元件是线性的,但在旋转式的电位器中,内部电阻元件是圆形的。尽管形状不同,但它们的工作原理基本相同。

Arduino的模拟输入使用电压的变化进行输入。但是,由于电位器的电阻会发生变化,因此无法通过将其直接连接到Arduino来读取电位器的变化情况。因此,需要将电阻的变化转换为电压的变化。将电源和GND分别连接到电阻的左右引脚。这样,中间引脚的电压将根据引脚的位置发生变化。例如,假设将GND连接到左侧引脚,将电源(5V)连接到右侧引脚,当中间引脚向右移动,电压会升高,向左移动时,电压会降低。此外,由于左端为0V,右端为5V,因此可以使电压值在0V到5V的范围内变化。

只要将这个中间引脚与Arduino的模拟输入引脚相连接,就可以通过操作电位器来更改输入。

how the volume works

通过电位器实现模拟输入

现在,我们尝试使用电位器进行模拟输入。需要准备好以下电子部件:
电位器
volume pod

电位器会记录可调范围内的电阻值。作为Arduino输入使用时,最好使用10kΩ的电位器。另外,如果电位器的旋转轴配有旋钮会更容易操作。

鳄鱼夹线
alligator clip jumper line

用于连接电位器,使用时用鳄鱼夹夹住电位器的引脚。点击链接可以看到我们使用的是2条红线和2条黑线配套销售的产品。

所需部件准备好以后,按如下方式连接。由于电位器无法插入面包板,因此需要使用鳄鱼夹线将其直接连接到Arduino。此时需要注意的是,要确保鳄鱼夹的金属部分不要接触相邻的夹子部分。

connecting volume pod to arduino

编写以下程序:

要确认模拟输入引脚的连接状态时,请在第11行的“analogRead()”中指定对象引脚。这样,即可使用0到1023的值输入引脚电压值。如果想知道电压,请按第13行所示进行计算并将计算值转换为电压值。

将程序发送给Arduino并显示串行监视器。
您可以看到,经AD转换器转换为数字的值显示在“Value:”之后,经计算并转换为电压的值显示在“Volt:”之后,当转动电位器时,值也随之变化。

converted value and volt


来源:techclass.rohm

文章评论0条评论)

登录后参与讨论
相关推荐阅读
techff 2022-09-15 16:38
详解直流降压转换器,三种架构之间的差异
降压转换器架构之比较 摘要 此报告将比较三种直流降压变换器之架构,包括电流模式、电流模式-恒定导通时间 (CMCOT) 和立锜专有之先进恒定导通时间 (ACOT) 架构。将详细解说此三种架...
techff 2022-09-15 16:33
几种电源管理电路的可替换设计
电源管理中的可替换式设计选型指南 摘要 让电子产品的设计可使用不同来源的器件拥有很多好处,其利益在出现半导体器件供应短缺现象时尤为巨大,作为备份存在的多种货源常常是生产线能够正常运转的救命...
techff 2022-09-15 16:28
TWS无线蓝牙耳机的电量计解决方案
摘要 本应用文件介绍了TWS (True Wireless Stereo) 无线蓝牙耳机的电池电量计方案-RT9426,以高精度、高度整合、超低Iq的特性,完全符合TWS蓝牙耳机 (...
techff 2022-09-15 16:24
设计指南:离线反激式转换器的反馈控制
摘要 离线式反激转换器 (off-line flyback converter) 的反馈控制经常困扰着电源工程师,因为牵涉到连续导通模式 (continuous conduction mod...
techff 2022-09-15 16:18
自制低成本的DCDC电源负载瞬态测试工具
摘要 负载瞬变测试是检查功率转换器表现的一种快速方法,它可以反映出转换器的调整速度,能将转换器的稳定性问题凸显出来。转换器的负载调整特性、占空比极限、PCB布局问题和输入电压的稳定性也可经此测试快速...
techff 2022-09-15 16:06
24V工业应用环境下的MCU供电方法
在工业场合为MCU供电 Powering Microcontrollers from Industrial Supply Rails 摘要 像8051、Cortex M0和P...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条