温控空调

来自Microduino Wikipedia
Hustshenyang@126.com讨论 | 贡献2015年6月22日 (一) 07:40的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

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

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-Temp&Hum/zh 1 温湿度传感器
Microduino-IR transmitter/zh 1 红外发射传感器

搭建硬件

  • Setup 1:将CoreUSB与Sensorhub叠堆。
  • Setup 2:将红外发射传感器接到Sensorhub的D3引脚上,温湿度传感器接到Sensorhub的IIC引脚上。
Microduino-sensorhub rule.JPG

软件调试

  • 空调红外遥控编码定义,此处控制的是科龙空调,采用NEC编码格式。
IRsend irsend;       //红外发射
AM2321 am2321;       //温湿度传感器AM2321

#define POWER_ON 0xC1602680    //空调开关机编码
float temp = 0;        //温度值
unsigned long runTime = 0;   //空调开关机时间
  • 每隔一秒钟检测当前温度值,当温度大于30时,开启空调,温度小于25度时,关闭空调,空调的开关控制间隔为180秒,避免空调频繁开启和关闭。
am2321.read();           //获得当前温度值
temp = am2321.temperature/10.0;
if(millis()>runTime+180000)    //控制空调间隔时间大于180s
{
  if(temp > 30)         //温度大于30度,开启空调
  {
    irsend.sendNEC(0xC1602680,32);
    irsend.sendCode(0x00000000,16);
    runTime = millis();
  }
  else if(temp <25)     //温度小于30度,关闭空调
  {
    irsend.sendNEC(0xC1602680,32);
    irsend.sendCode(0x00000000,16);
    runTime = millis();   
   }
 }
 delay(1000);

结果

当温度大于30度时,空调启动,温度小与25时,空调关闭,可以通过检测湿度值来控制空调的其他功能。

视频