手把手教你如何利用ESP8266实现手机远程开关灯

前言:

今年刚过完年,放假在家呆着,受疫情的影响,不能出门,一天在家里呆着,无聊之余,突然想起上次老婆说要是有人随时可以为她关灯就好了,老婆上班的地方住宿舍,灯的开关离床边很远,每次睡觉前都要起来关灯,夏天还好,冬天就麻烦了。想了想作为我们电子信息专业的学生其实可以自己做一个遥控开关,用遥控来开关灯。
最开始打算用2.4G无线模块来实现遥控开关灯,但是感觉太low了,还得随时带个遥控器,而且遥控器受距离的影响,控制距离有限,我和老婆在不同的地方上班,我之前就想过可以帮她在任何地方开关灯,于是我果断放弃了遥控器的想法,想用网络来控制开关灯,摆脱距离的限制。说干就干,开始白天黑夜的网上找资料学习,由于大学的时候学习的是电子信息技术,单片机学的还可以,除了51单片机没有学过太多其他类型的单片机,但是学起来还都容易。
通过在网上查找了很多资料,发现ESP8266可以用来实现网络的连接,于是开始学习ESP8266,通过几天的学习感觉这个芯片也简单,没有想象中的难,打算用万用板焊一个最小系统做测试。先来看看电路图吧!

电路分析:

(1)电源部分:主控芯片为ESP8266,该芯片使用的电源电压为3.3V,这里我先使用电脑的USB提供电源,由于电脑的USB电源为5V,所有使用ASM1117转化得到3.3V电压,为了能直观看出板子是否通电,我在这里添加一只LED灯D1作为电源指示灯,当有电的时候灯亮,没有通电或有短路的时灯不亮。关于ASM1117电源芯片我这里就不讲解了,大家都很熟悉的电源模块,如果有不太了解的朋友可以去百度一下你就知道啦。ESP8266 的第8只引脚为电源 ,第9只引脚为电源负极(地),分别接在电源的3.3V和GND端。

(2)最小系统部分:其实所谓的最小系统就是能让主控芯片工作起来的最少的外部电路,需要ESP8266工作的最小电路需要有:电源供电部分、复位电路、使能电路和模式选择电路。

1、供电部分已经在上一点说过了。
2、关于复位电路,是芯片的第一只引脚(RST),通过一个电阻和一个电容实现上电自动复位,强调一下,这里作为测试,我在电路板上并没有焊接这部分电路,因为ESP8266内部带了复位电路。实测可以正常使用,当然如果你为了让系统更加稳定,可以加上这部分电路。
3、ESP8266的使能引脚为第3只(EN),使能顾名思义就是让芯片可以能用,通过查看EPS8266芯片手册可以知道为高有效,也就是说当该引脚为高电平时芯片可用,为低电平时芯片不可用。这里通过一个电路接到电源的正极,也就是3.3V,让芯片一直可用。
4、模式选择电路,ESP8266的工作模式有两种,分别是下载模式和运行模式,我们通过一个表格来说明主控芯片的模式。

通过上表可以看出,只有GPIO0也就是第12只引脚为高时芯片为运行程序模式,当该引脚为低时,芯片处于程序下载模式,这里我们两种模式都会用到,所以我通过一个跳线帽来实现模式的切换。其他两只引脚GPIO2、GPIO15对应分别接电源正极和负极便可以。

(3)工作指示电路:在调试开发程序过程中,我们往往是看不到芯片是如何执行程序的,也不知道程序执行到什么地方了,所以我在电路板上接了一颗LED灯来作为工作指示灯。这个电路就很简单了,一个电阻和一颗LED灯,电阻作为限流,当有电流正向通过LED灯时LED灯就会亮,这里我一端接到电源负极,一端接到ESP8266的第14只引脚(GPIO5) 上,当设置该引脚为高(1) 时,LED灯亮,为(0) 时灯灭。

(4)程序下载电路:ESP8266 是可以通过串口来实现下载程序的,现在的电脑大都不带串口了,可以使用MAX232等芯片来实现串口通信,还好现在有很多现成的USB转串口的工具,我这里在网上8块钱买了一个USB转串口的工具。这里要实现可以下载程序需要接这几根线,VCC (电源正)、GND (电源负)、TX(发送端)、RX (接收端),由于下载工具的电压是5V的,而芯片引脚使用的3.3V电压,所以在TX,RX两只引脚中串联了一个200欧姆的电阻来保护芯片。

实物焊接:

焊接的时候也没有遇到什么大问题,一次焊好就成功了,由于没有做PCB板子,而万用板的间距为2.5MM,而ESP8266的引脚间距比2.5mm小,所以焊接的时候还是有点费力,找位置对引脚焊。硬件方面到这里基本就完成了,但还有一个地方,我们既然要做远程控制灯,我们还需要两个模块: 一个继电器模块,也可以使用场效应管来开关,这两种方法我都做了,都可以,使用继电器开关的时候会有继电器触点声音,但是隔断效果很好,而使用场效应管开关的时候不会发出任何声响。另外一个模块是供电模块,调试的时候可以使用电脑USB供电,但是放到灯里就只能使用220V转5V模块来实供电,可以使用废旧不用的手机充电器来代替,也可以购买模块来用,我不建议自己设计电路来实现,浪费时间浪费精力还不一定好用。我这个人就是很懒,我直接从网上买来模块,大概4块钱左右,能提供1.5A的电流,这对我们电路来时是足够的了,看看实物图吧!
素材来源:网络
(0)

相关推荐