注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。
前言:本篇讲解在Arduino上如何使用旋钮电位器调节LED亮度?
1.旋转电位器原理是什么?
旋转电位器本质呢还是个滑动变阻器。SIG引脚其实就是滑动变阻器的滑动头,其输出的信号介于GND与VCC之间,其输出的信号一般正比与旋钮的转动角度。下图是本次采用的旋转电位器。
2.旋转电位器可以用来干什么?
旋转电位器作为一个输入信号,一般是用于一个量的连续调节,比如灯光亮度调节、温度高低调节、电动机转速调节等等,思路是Arduino通过感知操控者对旋钮转动角度大小的值,来判定对被控对象要进行如何操作。
3.用到的新知识点
本次使用到map函数:
map(val,A1,A2,B1,B2)
其中:A1、A2是VAL变量的取值范围,B1 B2是要转换的取值的范围,且是线性变换。则函数返回值m存在如下关系:
我们称之为映射关系。
4.实验电路图
5.实验代码
void setup() {
// put your setup code here, to run once:
pinMode(11,OUTPUT);//11号引脚用于LED小灯,将其设置为输出模式
pinMode(A0,INPUT);//A0引脚用于旋转电位器,将其设置为输入模式
}
void loop() {
// put your main code here, to run repeatedly:
int value=0;//用于存放读取到的模拟信号值
int led_value=0;//用于存放LED小灯PWM占空比的值
value=analogRead(A0);//读取电位器的位置
led_value=map(value,0,1023,0,255);//映射
analogWrite(11,led_value);//将映射值赋值给小灯
delay(10);
}
6.实验模拟视频
旋钮电位器调节灯亮度仿真实验。