结合温度传感器就可以利用温度来控制风扇电机的开关。当温度低时,风扇转速就低,温度高时,风扇转速就快。当低于某个温度时风扇就停转。这样就做成了一个自动启停的温控调速风扇。

# 部署

  1. 电动马达(Fan Motor)的INA端子接到OSEPP UNO的3号引脚。
  2. 电动马达(Fan Motor)的INB端子接到OSEPP UNO的5号引脚。
  3. 温度传感器Temperature连接到A0引脚。

# 程序搭建

  • oseppBlock程序

  • Arduino程序
void setup()
{
    //lm35_1
    pinMode(A0, INPUT); //定义A0为输入模式
    //fan1
    pinMode(3, OUTPUT); //定义3号引脚为输出模式
    pinMode(5, OUTPUT); //定义5号引脚为输出模式
    Serial.begin(115200); //设置串口波特率
}

void loop()
{
    if (analogRead(A0) * 0.48828125 < 26) //如果温度小于26度
    {
        analogWrite(3, 0); //风扇停止转动
        analogWrite(5, 0);
    }
    else
    {
        analogWrite(3, map(analogRead(A0) * 0.48828125, 26, 33, 50, 255)); 
        //温度在26自33之间映射至风扇转速在20-100%
        analogWrite(5, 0);
    }
    Serial.println((analogRead(A0) * 0.48828125)); //串口显示温度
    delay(500);                                   //延时500毫秒
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 运行结果

实验里设定了一个温度值26,当温度传感器的温度超过这个值时,风扇就会转动起来。当温度为26时转速大约是20%,温度到达33度时,转速达到100%。这里设置的26这个数值要根据你当时的环境温度变化值来设定,在程序里面加了串口打印,可以在串口看到温度显示,设定温度的值时请参考串口显示这个值的变化。

# 操作视频