需求
使用ESP8266模块做一个可以联网的烟雾报警器,要求如下
1、可以进行烟雾检测
2、能发出报警的声音
3、能够连接局域网
4、充一次电可以使用一个月
5、小巧方便
设计预览图
需求分析
烟雾检测功能使用MQ-2传感器实现,此传感器主要用于家庭用空气污染报警器、工业空气污染报警器和便携式空气污染检测器。其特点是在较宽的浓度范围内对有害气体有良好的灵敏度。对氨、硫化物、苯系气体灵敏度较高,寿命长、成本低驱动电路简单等。
连接局域网的功能使用ESP8266实现,ESP8266是一款WIFI转串口芯片,内部集成了MCU可以通过编程实现与WiFi的连接,或者其自身做为一个热点被连接。同时它可以将WIFI收到的数据通过串口发送给单片机。实现单片机与WIFI的通讯。同时由于其自身内部集成了MCU,也可以通过对其内部MCU编程实现一些简单的引脚电频控制。主要是它可以使用arduino进行编程,网上的资源也比较多。
发出报警的声音可以使用语音芯片BY8302-16P实现,此芯片内置功放可以驱动一个3W的小喇叭。这是一款串口语音芯片,能够播放MP3、WAV等格式的音频,可以通过串口进行控制。
整个系统采用锂电池进行供电,为了实现对电池的充放电管理,需要使用电源管理芯片TP4056,这是一款单节锂电池恒流/恒压线性充电器。可以实现对电池的温度检测和充电状态的指示。
综上所述,我们整个硬件的设计中会用到,烟雾检测功能,语音播放功能,锂电池充放电管理,电路的控制和显示器。
电路分析
MQ-2驱动电路
如图所示,电路中提供TTL电平信号和模拟信号输出两种输出方式,还有一个活动电阻RP用于调节传感器输出的灵敏度。整个驱动电路采用5V供电,电路接通后需要先对传感器加热,加热电压是5V±0.2V,加热功率≤900mW。传感器工作环境温度为-10℃-+50℃,湿度小于95%RH。
语音播放模块BY8302-16P驱动电路
SV17F语音播放模块
SV17F中使用的芯片是DY1703A(语音控制)、BY25Q32BSSIG(NOR FLASH)、LTK5128D(5W D类功放)
BY25Q32BSSIG 是通过IIC与DY1703A通讯的,由于DY1703A芯片货源比较少,而且没有相关的电路资料。所以决定弃用DY1703A,改用JQ8900N,这个芯片稍微便宜点。
JQ8900N语音播放模块
电源管理电路
TP4056的典型应用电路,LED绿为充电完成指示灯,当电池充电完成时亮起。LED红为充电状态指示灯,当正在为电池充电时亮起。TEMP为电池充电温度检测,不用的话直接接地。
MT3608DC-DC升压电路
由于MQ2需要用到5V的电压,给传感器加热,但是锂电池最多输出3.7V。所以可能需要用到一个升压模块。
控制电路
NODE-MCU开发板电路
ESP-12F典型应用电路
NODE-MCU开发板中用到的WIFI模块就是ESP-12F。不知道为啥在开发板上叫ESP8266,经过测试这两个模块是一样的。引脚位置一摸一样
注意:
1、模组外围电路,GPIO0必须上拉到VCC(运行状态下),GPIO15必须下拉到GND
2、EN引脚和RST引脚必须上拉到VCC
3、模组的PIN9-PIN14引脚不可用
ESP-12F芯片的引脚试用说明
引脚名称 | 功能 | 是否可编程 | 是否使用 |
---|---|---|---|
GPIO6 | 寄存器引脚 | 不可编程 | 否 |
GPIO7 | 寄存器引脚 | 不可编程 | 否 |
GPIO8 | 寄存器引脚 | 不可编程 | 否 |
GPIO9 | 寄存器引脚 | 不可编程 | 否 |
GPIO10 | 寄存器引脚 | 不可编程 | 否 |
GPIO11 | 寄存器引脚 | 不可编程 | 否 |
GPIO0 | SPI_CS2 | 可编程 | 是 |
GPIO1 | U0TXD | 串口0的TXD引脚,可编程 | 是 |
GPIO2 | U1TXD | 串口1的TXD引脚,可编程 | 是 |
GPIO3 | U0RXD | 串口0的RXD引脚,可编程 | 是 |
GPIO4 | 普通引脚 | 可编程 | 是 |
GPIO5 | 普通引脚 | 可编程 | 是 |
GPIO12 | HSPI_MISO | 可编程 | 是 |
GPIO13 | HSPI_MOSI | 可编程 | 是 |
GPIO14 | HSPI_CLK | 可编程 | 是 |
GPIO15 | HSPI_CS | 可编程 | 是 |
GPIO16 | 普通引脚 | 可编程 | 是 |
ESP-12F状态切换
模式 | CH_PD(EN) | RST | GPIO15 | GPIO0 | GPIO2 | TXD0 |
---|---|---|---|---|---|---|
下载模式 | 高 | 高 | 低 | 低 | 高 | 高 |
运行模式 | 高 | 高 | 低 | 高 | 高 | 高 |
显示器
显示器使用JLX12864G-08602,晶联讯的一款黑白的液晶屏,由于模块的尺寸太大换成了一个更小一点的OLED屏。原本液晶显示用到6个控制引脚,换成OLED后只需要两个控制引脚,多出来的几个引脚可以做控制按键了。