之前介绍了使用软件编程来实现呼吸灯的效果,本次我们来借助一个硬件
— 旋转角度电位计来实现LED呼吸灯。
1、工具原料
Arduino 实验套装(Arduino UNO 控制器,跳线,面包板,USB数据线)
旋转角度电位计10K * 1个
5mm LED 发光二极管 * 1个
470 欧直插电阻 * 1个
2、方法步骤
2.1
准备实验需要用到的硬件,如图所示:
2.2
按照下图中的电路,进行实验硬件的连接
2.3
将下列程序复制到Arduino IDE中,如下图所示:
#define led 10
void setup()
{
pinMode(led,OUTPUT);
}
void loop()
{
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(10, val);
}
2.4
使用USB数据线连接Arduino UNO 控制器和电脑,选择正确的板型(Arduino UNO 和)、端口,点击上传,无误情况下软件会显示如下结果。
2.5
代码回顾:如下图所示中的代码
val
= map(val, 0, 1023, 0, 255);语法:long map ( long x, long in_min,
long in_max, long out_min, long out_max
)
参数:
x
要映射的值
in_min
映射前区间
in_max
映射前区间
out_min
映射后区间
out_max
映射后区间
作用:等比映射
将位于[in_min,
in_max]之间的x映射到[out_min, out_max]
例如本例中
val
= map(val, 0, 1023, 0, 255); 作用是将模拟量从[0,1023]映射到[0,255]区间。
2.6
硬件回顾:
旋转角度电位计,又称为可变电阻,范围比较小,一般为几欧姆至几千欧姆之间,阻值允许偏差±5%和±10%。这种电位器通常用于电源调节或大电流分压电路中。由于它是电阻丝绕制而成(相当于线圈),其电感量较大,故线绕电位器很少用于高频电路。原理图中符号及引脚定义如下图所示,电位计左右(原理图中的1、2)端点间阻值为可变电阻的总阻值,通过旋转电位计,可以改变任意端点到变化端(3)的阻值大小。
2.7
实验效果:当旋转角度电位计从左侧端点到右侧端点时,LED由亮逐渐变化到灭;当旋转角度电位计从右侧端点回到左侧端点时,LED由灭到亮。如下图所示,为LED的最亮状态和熄灭状态,在旋转角度电位计变化过程中,小灯有一个由亮变灭的过程。
注:旋转角度电位计的中间引脚需要连接到Arduino UNO控制器的模拟输入引脚,否则电位计的旋转不能改变LED的亮度。