凌顺实验室/指南/Arduino 指南/

Arduino Uno 使用电位器

这个电位器实验,非常简单,

可应用在很多场景,例如音量大小声,一些数值的调控

实例效果

转动电位器,从串口监视器中输出数值的变化。
数值的变化,在0~1023之间。

元件说明

电位器(英文:Potentiometer,通俗上也简称 Pot,少数直译成电位计),中文通常又称为可变电阻器(VR,Variable Resistor)或简称可变电阻,是种多数具有三个端子,其中有两个固定接点与一个滑动接点,可经由滑动而改变滑动端与两个固定端间电阻值的电子零件,属于被动元件,使用时可形成不同的分压比率,改变滑动点的电位,因而得名。

至于只有两个端子的可变电阻器(rheostat)(或已将滑动端与其中一个固定端保持连接,对外实际只有两个有效端子的)并不称为电位器,只能称为可变电阻(variable resistor)。

常见的碳膜或陶瓷金属膜的电位器可以透过铜箔或铜片与印刷膜接触,经旋转或滑动产生输出、输入端的不同电阻。至于需要较大功率的电位器则是使用线绕式。

电位器有时会合并附带其他功能,例如某些音量控制用的电位器附开关,可兼作音量与电源开关的功能,此时通常是在音量最小的一端附带关闭电源。

引脚说明

VCC 为供电
OUT 为信号输出
GND 为接地

BOM表

名称 数量
Arduino Uno x1
电位器 x1
面包板 x1
跳线(杜邦线) 若干

接线方式

Arduino Uno 引脚 <---> 电位器 引脚
5V <---> VCC
GND <---> GND
A0 <---> OUT

程序提点

analogRead(int pin)

这次程序主要用到analogRead()函数,其作用是读取指定模拟输入IO口(引脚)的数值。

Arduino Uno板上有一个6个(Mini和Nano上有8个,Mega上有16个)、10位的模拟数字转换器,这意味着它将把0到5伏之间的电压映射成0到1023之间的整数值。这就产生了读数之间的分辨率。5伏/1024个单位或每单位0.0049伏(4.9毫伏)。输入范围和分辨率可以使用analogReference()来改变。

读取一个模拟输入大约需要 100 微秒(0.0001 秒),因此最大读取速率约为每秒 10,000 次。

语法:
analogRead(pin)

参数:
pin:要读取的模拟输入引脚的编号(Arduino Uno板为0至5,Mini和Nano为0至7,Mega为0至15)。

返回:
0 ~ 1023

程序实现

// lingshunlab.com

int val = 0; // 定义 val 变量,用于存储电位器的数值
 
void setup() {
  Serial.begin(9600); // 定义 波特率
}
 
void loop() {
  val = analogRead(A0); // 读取模拟口 A0 的数值 赋值到 val
  Serial.println(val); // 输出到串口,显示 val 的数值
  delay(1000); // 等待1秒
}