查看“温控空调”的源代码
←
温控空调
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 温控空调}} {| style="width: 800px;" |- | ==目的== 监测环境温度来控制空调工作,当温度升高到一定温度时启动空调,当温度下降到一定温度时关闭空调。 ==原理== 利用温湿度传感器AM2321检测室温,然后红外发射传感器通过匹配编码控制空调的启动和停止。 ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-CoreUSB/zh]]||1||核心板 |- |[[Microduino-Sensorhub/zh]]||1||传感器转接板 |- | [[Microduino-Temp&Hum/zh]]||1||温湿度传感器 |- | [[Microduino-IR transmitter/zh]]||1||红外发射传感器 |} *其他设备 **USB数据线 [[File:_temp_air.jpg|600px|center]] ==搭建硬件== *Setup 1:将红外发射传感器通过转接板接到Sensorhub的D6引脚上,温湿度传感器接到Sensorhub的IIC引脚上。 [[File:temp_ir_sensor.jpg|600px|center|thumb]] **Setup 2:将所有模块叠堆,通过USB线连接到电脑。 [[File:CoreUSB_Ble_Sensorhub.jpg|600px|center|thumb]] ==软件调试== *打开Arduino IDE,将下列代码复制到IDE中。 <source lang="cpp"> #include <Wire.h> #include <AM2321.h> #include <IRremote.h> IRsend irsend; AM2321 am2321; #define POWER_ON 0xC1602680 #define TEMP_MAX 30 #define TEMP_MIN 25 float temp = 0; // unsigned long runTime = 0; void setup() { } void loop() { am2321.read(); temp = am2321.temperature/10.0; if(millis()>runTime+180000) { if(temp > TEMP_MAX) { irsend.sendNEC(POWER_ON,32); irsend.sendCode(0x00000000,16); runTime = millis(); } else if(temp <TEMP_MIN) { irsend.sendNEC(0xC1602680,32); irsend.sendCode(0x00000000,16); runTime = millis(); } } delay(1000); } </source> *空调红外遥控编码定义,此处控制的是科龙空调,采用NEC编码格式。 <source lang="cpp"> IRsend irsend; //红外发射 AM2321 am2321; //温湿度传感器AM2321 #define POWER_ON 0xC1602680 //空调开关机编码 float temp = 0; //温度值 unsigned long runTime = 0; //空调开关机时间 </source> *每隔一秒钟检测当前温度值,当温度大于30时,开启空调,温度小于25度时,关闭空调,空调的开关控制间隔为180秒,避免空调频繁开启和关闭。 <source lang="cpp"> 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); </source> ==结果== 当温度大于30度时,空调启动,温度小与25时,空调关闭,可以通过检测温度值来控制空调的其他功能。 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
温控空调
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息