欢迎光临散文网 会员登陆 & 注册

智能空调解决方案:8266+红外控制模块

2023-08-09 23:02 作者:向上生长长长长  | 我要投稿

前言

炎炎夏日, 你是否有这样的困惑:

  • 睡觉时,并不觉得热,然而后半夜被热醒,然后在极其不爽的情绪下,开启空调继续谁?

  • 睡觉时,空调温度刚刚好,然而后半夜下雨了,被冻醒?

看完我们今天的内容,我相信以上两个问题都能被解决,而且方法绝对简单,好了,废话少说,让我们直接开始吧。

智能空调解决方案

准备工作

环境准备

这块我们就不展开讲了,包括Arduino IED的安装和配置、esp8266开发板的使用等, 可以参考我们之前的内容。

材料部分

序号名称数量备注1esp8266开发板1开发板2红外发射模块1用来发射控制信息,38KHZ3红外接收模块1用来接收空调遥控器红外信号,解码信息,38KHZ4DHT11温湿度传感器1用来采集房间内的温度和湿度5杜邦线若干模块连接

本次项目成本总计15元左右,最贵的是esp8266开发,12元左右

解码空调遥控器信息

这里主要是通过红外接收模块和esp8266开发板,接收并解析红外信息,为后面控制空调做准备,也就是把空调各种控制信息,包括开、关、温度加减、风速等控制信号输出并保存,这样我们在后续的控制中,可以直接通过esp8266+红外发射模块来发射这些信息,从而实现空调的智能控制。

接收端接线

这里的接线比较简单,因为红外模块只有三个引脚,一个信号线,两个电源引脚,所以连接很简单:


序号    红外引脚    esp8266

1    out    d5(GPIO14)

2    VVC    3V

3    GND    G

电源部分可以连接3V3或者5V都可以,发送端建议连接5V,不然距离太远发送的红外信号太弱,空调接收不到。

解码

这里解码我们要用到IRremoteESP8266包下的一个示例项目,如果没有这个包的小伙伴先去安装这个包:

安装完成之后,连接esp8266,然后打开Arduino IDE,打开IRremoteESP8266的示例项目IRrecvDumpV2:

因为示例项目的默认接收引脚是14,这也是我们前面接线用14号引脚的原因:

将示例代码上传至esp8266,然后我们打开串口监视器,端口115200,拿遥控器对准红外接收模块,按下对应的键,终端便会展示该按键对应的控制信息:

这里我们把相关信息保存下,方便后面使用。

空调控制红外信息发射

发射端连线

序号    红外引脚    esp8266

1    out    d2(GPIO4)

2    VVC    VV

3    GND    G

esp8266vv引脚是5v,电压高一点确保红外信号可以发射远一点

温湿度传感器连线

序号    红外引脚    esp8266

1    out    d5(GPIO14)

2    VVC    3V

3    GND    G

发射端编码

编码本身很简单,主要还是实现思路,先说我的需求:

  • 通过温度传感器来采集温度,温度作为控制依据;

  • 当温度高于某个值(比如30度),且空调未开启,则发送开启空调指令;

  • 当温度低于某个值(比如26度),且空调是开启的,则发送关闭指令

下面是代码实现


当然你还可以根据你的需要增加控制指令,比如温度低于某个温度(比如18度),开启制热模式,或者根据当前室温调整空调温度,方法类似。

结语

这个项目完全是兴起之作,本来以为应该很简单,然而当真正开始的时候,才发现我对红外通信知之甚少,比如NEC协议,比如红外编码解码,所以毫无意外刚开始就卡在遥控器解码这里了,结果差点放弃,然后我又不死心地搜了一些相关博客,最终顺利完成。

参考内容:https://www.elecfans.com/d/1939738.html

- END -


智能空调解决方案:8266+红外控制模块的评论 (共 条)

分享到微博请遵守国家法律