制作出来的实物图如下:
ARM端
一、门禁系统
RFID识别舵机门禁
实现步骤:遥控小车携带RFID射频卡通过小区入口,此时道闸红灯亮。若RFID与小区户主号码一致,则控制舵机开启道闸放行,同时关闭红灯,开启绿灯,延时一段时间后,关闭道闸和绿灯,红灯亮起。
二、车库系统
超声波测距车位指示灯
实现步骤:车库内安装超声波测距模块,监测遥控小车进入设定范围内后,表示车已入库,此时车库绿灯灭,红灯亮;当遥控车驶出车库后,车库红灯灭,绿灯亮,表示车位空。
三、灯光系统
1、路灯、房屋装饰灯
实现步骤:光敏传感器监测光照值过低时控制路灯和房屋装饰灯开启。
2、仓库灯
实现步骤:光敏传感器和声音传感器同时控制,当光照值和声音值同时满足条件时开启仓库灯。
3、室内灯
实现步骤:移动端(Android端)通过ESP8266 WI-FI通信模块发送指令控制灯光。
四、温控系统
温湿度传感器风扇降温
实现步骤:DHT11温湿度传感器或DS18B290温度传感器监测数据,当检测到的数值达到设定值后控制继电器模块开启风扇(小)降温。
五、防火系统
1、MQ-2烟雾传感器BEEP0、LED0、风扇
实现步骤:MQ-2烟雾传感器检测烟雾浓度值超过设定值后控制继电器开启风扇排风系统,同时控制LED闪烁、BEEP报警。
2、MQ-2烟雾传感器&&火焰传感器或DS18B20温度传感器&&火焰传感器BEEP1、LED1、水泵灭火器
实现步骤:
(1)当MQ-2和火焰传感器条件同时满足时(此时也满足防火系统第一点的条件),BEEP0、BEEP1、LED0、LED1、风扇排风系统、水泵灭火器同时工作。
If(mq-2&&火焰传感器){
BEEP0、BEEP1;
LED0、LED1;
风扇排风系统;
水泵灭火器;
}
(2)当DS18B20和火焰传感器条件同时满足时,控制BEEP1、LED1、水泵灭火器同时工作。
If(mq-2&&火焰传感器){
BEEP1;LED1;
水泵灭火器;
}
六、雨滴监测系统
雨滴传感器舵机控制窗户关闭
实现步骤:当雨滴传感器检测值超过设定值时控制舵机关闭窗户,低于设定值时重新打开窗户。
七、红外安防系统
HC-SR501或HC-SR505人体红外传感器LED、BEEP报警
实现步骤:当人进入红外传感器监控范围时控制LED闪烁,BEEP报警。
八、视频监控系统
实现步骤:摄像头模块采集图像数据通过ESP8266 WI-FI通信模块实时传到移动端(Android端)。
九、语音播报系统
实现步骤:当门禁系统、车库系统、温控系统、防火系统、雨滴监测系统、红外安防系统工作时通过语音模块播报相应内容。
门禁系统->“放行”;
车库系统->“车已入库”;
温控系统->“室温过高,开启降温系统”;
防火系统->(1)“烟雾浓度过高,开启排风系统”,(2)“监测到火灾,开启灭火系统”;
雨滴监测系统->“大雨,窗户已关闭”;
红外安防系统->“有人靠近”。
Android端
一、门禁系统
要求:
1、显示RFID射频卡内容显示道闸状态->“开启/关闭”;(联动)
2、发送指令控制道闸状态->“开启/关闭”按钮。
二、车库系统
要求:
显示车位状态->“车位有/无”
三、灯光系统
要求:
1、显示路灯、房屋装饰灯状态->“开启/关闭”
2、显示仓库灯状态->“开启/关闭”
3、发送指令控制室内灯状态->“开启/关闭”按钮
四、 温控系统
要求:
1、显示温湿度值显示风扇(小)状态->“开启/关闭”;(联动)
2、发送指令控制风扇(小)状态->“开启/关闭”按钮
五、 防火系统
要求:
1、显示烟雾浓度值显示排风系统状态“开启/关闭”;(联动)
2、显示防火系统状态->“正常/发生火灾”显示灭火系统状态“开启/关闭”。(联动)
六、雨滴监测系统
要求:
1、显示雨滴传感器状态->“小雨/大雨”显示窗户状态->“开启/关闭”;(联动)
2、发送指令控制窗户状态->“开启/关闭”按钮。
七、红外安防系统
要求:
显示红外安防系统状态->“正常/有人靠近”显示报警系统状态->“开启/关闭”。(联动)
八、视频监控系统
要求:
ViewPager控件显示实时监控画面。
九、语音播报系统
由底层实现。
主板IO接线说明:
ESP8266---------------PA2/3
{
新增:
火焰传感器----------PA1
防火继电器----------PA4
房灯继电器----------PA5
排风继电器----------PA6
防火蜂鸣器----------PA7
防火报警灯----------PA8
}
DHT11-----------------PA11
降温继电器------------PA12
RFID------------------PB0/1/13/14/15
超声波模块------------PB6/7
SG90舵机--------------PB8
声音传感器------------PB9
光敏传感器------------PB10
仓库灯----------------PB11
烟雾蜂鸣器------------PB12
烟雾红蓝报警灯--------PC10/3
门禁、车库状态灯------PC6/7/8/9(红绿红绿)
MQ-2烟雾传感器--------PC1
单片机源程序如下:
- #include "stm32f10x.h"
- #include "sys.h"
- #include "uart.h"
- #include "dht11.h"
- #include "ultrasonic.h"
- #include "time.h"
- #include "rc522.h"
- #include "pwm.h"
- #include "mq.h"
- #include "usart2.h"
- #include "common.h"
- #include "fire.h"
- int main(void){
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断优先级分组
- delay_init(); //延时初始化
- UartInit(115200); //串口初始化
- USART2_Init(115200); //串口2初始化
- DHT11_Init(); //温湿度传感器初始化
- LedInit(); //板载LED初始化
- ZledInit(); //外接LED初始化
- BeepInit(); //蜂鸣器初始化
- JdqInit(); //继电器初始化
- TIM2Init(29994,7199); //仓库声光控制LED
- TIM3Init(30200,7199); //RFID舵机门禁
- UltrasonicInit(); //车库超声波测距初始化
- Rc522Init(); //RFID-RC522初始化
- RFID_STATE_Init(); //RFID读取状态检测IO初始化
- SG90Init(); //SG90舵机初始化
- MqInit(); //烟雾传感器初始化
- FireInit(); //火焰传感器初始化
- atk_8266_test(); //ESP8266 wifi初始化
- while(1){
- // delay_ms(50);
- delay_ms(500);
- // atk_8266_at_response(1); //判断手机发送过来的指令
- // RFID_Work(); //*手机发指令控制门禁开/关
- // UltrasonicWork(); //*发数据到手机显示车位状态
- DHT11_Work(); //*发温湿度数据到手机/*手机发指令控制降温开/关
- // MqWork(); //*发烟雾浓度数据到手机
- // FireWork(); //*发防火系统状态到手机
- }
- }
复制代码
所有资料51hei附件下载:
这里仅分享STM32的主从机代码,给大家学习用,仅供参考,切勿照搬
从机STM32代码.7z
(164.74 KB, 下载次数: 30)
主机 STM32代码.7z
(231.43 KB, 下载次数: 28)
|