结合温度传感器就可以利用温度来控制风扇电机的开关。当温度低时,风扇转速就低,温度高时,风扇转速就快。当低于某个温度时风扇就停转。这样就做成了一个自动启停的温控调速风扇。
# 部署
- 电动马达(Fan Motor)的
INA
端子接到OSEPP UNO的3
号引脚。 - 电动马达(Fan Motor)的
INB
端子接到OSEPP UNO的5
号引脚。 - 温度传感器
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
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
这个数值要根据你当时的环境温度变化值来设定,在程序里面加了串口打印,可以在串口看到温度显示,设定温度的值时请参考串口显示这个值的变化。