用电位器来调节马达的转速。无极变速,实际是把风扇的速度分成255个等级,类似255个档位,这样我们就感觉不到档位的存在了。

# 部署

  1. 电动马达(Fan Motor)的INA端子接到OSEPP UNO的3号引脚。
  2. 电动马达(Fan Motor)的INB端子接到OSEPP UNO的5号引脚。
  3. 电位器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

# 运行结果

转动电位器,风扇的转速也会产生变化。电位器从最左边顺时针旋转,风扇的速度也会慢慢的增加。风扇速度的增减有一个很平滑的过度。

# 解析

程序里Arduino首先会读取电位器的值,最小值是0,最大是1023。然后把这个值映射到0-255输出PWM信号驱动风扇。

# 操作视频