用电位器来调节马达的转速。无极变速,实际是把风扇的速度分成255
个等级,类似255
个档位,这样我们就感觉不到档位的存在了。
# 部署
- 电动马达(Fan Motor)的
INA
端子接到OSEPP UNO的3
号引脚。 - 电动马达(Fan Motor)的
INB
端子接到OSEPP UNO的5
号引脚。 - 电位器
POT1
接到A0
引脚。
# 程序搭建
- oseppBlock程序
- Arduino程序
void setup()
{
//potentiometer1
pinMode(A0, INPUT); //定义A0为输入模式
//fan1
pinMode(3, OUTPUT); //定义3号引脚为输出模式
pinMode(5, OUTPUT); //定义5号引脚为输出模式
}
void loop()
{
analogWrite(3, map(analogRead(A0), 0, 1023, 0, 255)); //3号引脚输出pwm为A0的映射值
analogWrite(5, 0); //5号引脚输出pwm为0
delay(1); //延时1毫秒
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 运行结果
转动电位器,风扇的转速也会产生变化。电位器从最左边顺时针旋转,风扇的速度也会慢慢的增加。风扇速度的增减有一个很平滑的过度。
# 解析
程序里Arduino首先会读取电位器的值,最小值是0
,最大是1023
。然后把这个值映射到0-255
输出PWM
信号驱动风扇。
# 操作视频
← 电动马达-PWM调速 电动马达-温控风扇 →