
ESP8266_智能温控开关
简介
基于ESP8266EX芯片,Arduino编程环境所制作的一款智能温控开关,提供-10摄氏度至99摄氏度的温度显示、开关控制功能。
简介:基于ESP8266EX芯片,Arduino编程环境所制作的一款智能温控开关,提供-10摄氏度至99摄氏度的温度显示、开关控制功能。开源协议
:GPL 3.0
描述
项目是基于ESP8266芯片的一款智能温控开关模块,板载有二位数码管、ESP8266EX芯片以及外围电路,引出两个按键用于逻辑控制、引出GPIO用于输出高电平,可外接继电器等设备,预留有电源电压输出的控制电路,可接5-12V用电器(例如风扇),输入电源宽电压单位5-12V.
实物图如下:
模块说明:
如上图左侧区域所示有两个按键,白色按键连接主控芯片 GPIO16,黑色按键连接主控芯片 GPIO12,按键未按下时处于上拉输入模式,当按键被按下时引脚接地,程序进行逻辑执行。
模块上电后即显示当前温度,此时长按黑色按钮会进入设置模式,短按黑色按钮切换列表,操作如下所示:
其功能列表如下:
数码管显示值 | 功能 | 说明 |
00 | 模式一,设置预定温度值 |
若当前温度大于等于该预定温度值,GPIO13、GPIO14输出高电平 重启生效 |
01 | 模式二,设置预定温度值 |
若当前温度小于该预定温度值,GPIO13、GPIO14输出高电平 重启生效 |
02 | 设置数码管亮度 | 数码管亮度分1-8级,越高数码管越亮,即时生效。 |
03 | 模式三,仅作为温度显示 |
当不想使用模式一、二时,可用该模式使模块仅作为温度显示模块 GPIO13、GPIO14输出低电平 重启生效 |
04 | 退出设置列表 | 退出设置列表,返回温度显示界面 |
参考PCB与原理可知,主控芯片引脚 GPIO13被引出于一个1xx3P排针,如下所示:
如图所示的引脚定义,这意味着您可以外接继电器带动其他设备,该GPIO的状态受工作模式控制,未满足温度条件时为低电平。
同样,GPIO14也被引出,用于控制三极管:该GPIO受工作模式控制,与GPIO13一样,当输出为高电平时,三极管通路,VCC为模块输入电压(MAX = 12V,MIN = 5V),此处可外接风扇类用电器,请注意电流不应超过300ma左右,避免模块发热。
模块使用Arduino编程,ESP8266EX作为主控芯片,若使用该模块您需要准备USB转TTL烧录器自行烧录,烧录方式自行百度或参考我其他的开源项目,QuickChatBox那个,在PCB中引出烧录孔,如下图所示:
烧录时请断开外部电源。
温度检测:
模块使用10K 3950 热敏电阻进行测温,模块可测温度为-10摄氏度-99摄氏度,超过该范围无法显示,程序中对NTC热敏电阻温度计算(esp8266实现)进行了参考,感谢。
热敏电阻规格如下:
热敏接口位置如下:
下面对一些功能进行演示,演示中所出现的继电器模块为低电平触发:
1.修改数码管亮度:在该演示中,黑色按钮用于功能切换、白色按键用于确认保存,长按黑色按键进入功能列表,短按进行功能切换,找到修改数码管亮度(02),点击白色按钮进入具体亮度设置,在短按黑色按钮进行亮度切换,白色按钮短按保存后回到温度显示界面。
2.使用模式一关闭外设继电器,首先使模块处于模式三,已知继电器为低电平触发,若此时室温为24度,设置预定温度值为15,使用模式一触发,则GPIO13\14输出高电平,继电器连接在GPIO13上,此时继电器被关闭。
注意,在设定预定温度值界面时,伴随蓝灯闪烁时,数码管显示数为负值,即零下度数,同样在温度显示界面,当LED常量时,说明该值为零下。
最后是关于Flash芯片,原理图中使用的是 25Q32,但实际上使用25Q80就够了,用Arduino烧录时请注意FlashSize选择。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 0.1u | C1,C3 | C0603 | 2 |
2 | 10u | C2,C4 | C0603 | 2 |
3 | 5.6pf | C7,C8 | C0603 | 2 |
4 | X8821WV-02K-N0SN | CN1 | CONN-TH_2P-P2.50_X8821WV-02K-N0SN | 1 |
5 | X8821WR-02S-N0SN | CN2 | CONN-TH_X8821WR-02S-N0SN | 1 |

评论