“温控空调”的版本间的差异
第7行: | 第7行: | ||
==原理== | ==原理== | ||
+ | 利用温湿度传感器AM2321检测室温,然后红外发射传感器通过匹配编码控制空调的启动和停止。 | ||
==设备== | ==设备== | ||
第58行: | 第59行: | ||
irsend.sendNEC(0xC1602680,32); | irsend.sendNEC(0xC1602680,32); | ||
irsend.sendCode(0x00000000,16); | irsend.sendCode(0x00000000,16); | ||
− | runTime = millis(); | + | runTime = millis(); |
} | } | ||
} | } | ||
第64行: | 第65行: | ||
</source> | </source> | ||
+ | |||
+ | ==程序== | ||
+ | [[https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/MicroduinoAirConditioner MicroduinoAirConditioner]] | ||
==结果== | ==结果== |
2015年6月22日 (一) 09:03的版本
Language | English |
---|
目的监测环境温度来控制空调工作,当温度升高到一定温度时启动空调,当温度下降到一定温度时关闭空调。 原理利用温湿度传感器AM2321检测室温,然后红外发射传感器通过匹配编码控制空调的启动和停止。 设备
搭建硬件
软件调试
IRsend irsend; //红外发射
AM2321 am2321; //温湿度传感器AM2321
#define POWER_ON 0xC1602680 //空调开关机编码
float temp = 0; //温度值
unsigned long runTime = 0; //空调开关机时间
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时,空调关闭,可以通过检测湿度值来控制空调的其他功能。 视频 |