智能温控电风扇

来自Microduino Wikipedia
Hustshenyang@126.com讨论 | 贡献2015年7月19日 (日) 10:18的版本 (Created page with "{{Language| 智能温控电风扇}} {| style="width: 800px;" |- | ==目的== 监测环境温度来控制电风扇工作,当温度升高到一定温度时启动风扇,当...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

监测环境温度来控制电风扇工作,当温度升高到一定温度时启动风扇,当温度下降到一定温度时关闭风扇。

原理

利用数字温度传感器LM75检测室温,然后控制电风扇的电源开启或关闭。

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-LM75/zh 1 数字温度传感器
Microduino-Relay/zh 1 继电器模块

搭建硬件

  • Setup 1:将CoreUSB与Sensorhub叠堆。
  • Setup 2:将LM75传感器接到Sensorhub的IIC引脚上,继电器模块接到Sensorhub的D2引脚上。
Microduino-sensorhub rule.JPG

软件调试

  • 设置温度上限为30度,温度下限为25度。
#define TEMP_MAX 30    //温度上限
#define TEMP_MIN 25    //温度下限
#define POWER 2        //继电器控制引脚

TempI2C_LM75 termo = TempI2C_LM75(0x48,TempI2C_LM75::nine_bits);    //LM75控制类

float temp = 0;        //温度值
unsigned long runTime = 0;
  • 每隔一秒钟检测当前温度值,当温度大于30时,开启风扇,温度小于25度时,关闭风扇,空调的开关控制间隔为60秒,避免风扇频繁开启和关闭。
   temp = termo.getTemp();     //获得当前温度值
    if(millis()>runTime+60000)   //开关控制间隔最小60秒
    {
      if(temp > TEMP_MAX)
      {
        digitalWrite(POWER, LOW);   //开启继电器
        runTime = millis();
      }
      else if(temp <TEMP_MIN)
      {
        digitalWrite(POWER, HIGH);   //关闭继电器
        runTime = millis();  
      }
    }
  delay(1000);

程序

[MicroduinoTempFan]

结果

将风扇的开关接到继电的控制端口,当温度大于30度时,继电器会控制风扇启动,温度小与25时,继电器会控制风扇关闭。

视频