一、功能简介
项目编号:dz-1174
单片机类型:STM32F103C8T6
具体功能:
1、通过人体热释电感应模块感应是否有人,有人则自动打开门(步进电机模拟),没人则自动关闭门;
2、通过DS18B20检测冷库中温度值,当温度值大于设置最大值,则声光报警;
3、通过一对红外计数管检测冷库中人数,当人数不为0时,则自动打开冷库中照明灯,如果人数为0,则关闭照明灯;
4、通过MQ-135检测冷库中有害气体浓度,当浓度值大于设置最大值,则声光报警;
5、通过按键设置温度上限值、有害气体浓度最大值、手动控制开关门;
6、通过OLED显示测量数据;
7、通过WiFi模块将检测的数据上传到手机端,手机可以设置阈值和控制外设;
8、通过语音识别控制门的开关、照明灯开关。
二、系统框图设计
绘制软件:VISIO
本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成常用工业单元电路系统的设计,其中包含中控部分、输入部分和输出部分。中控部分采用了STC89C52单片机,其主要作用是获取输入的部分数据,经过内部处理,控制输出部分。输入由四部分组成,第一部分是温湿度检测模块,通通过DHT11检测温湿度值;第二部分是薄膜压力检测模块,通过该模块检测压力数据值;第三部分是按键模块,通过该模块切换界面、设置距离触发值和距离最小值等;第四部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是LCD显示模块,显示温湿度值、压力值等;第二部分是声光报警模块,当压力值不在设置的范围内,进行声光报警提醒;第三部分是继电器(通风)控制电路,当温湿度值大于设置最大值时开启风扇,除此之外,蓝牙模块将检测的数据传输到手机端也可以远程控制通风的开关,系统框图如图3.1所示。
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/********************************** 函数名:按键扫描函数 传参值:0:不支持连续按 1:支持连续按 返回值:键值 **********************************/ uint8_t Chiclet_Keyboard_Scan(uint8_t mode) { static uint8_t key_up = 1; //按键松开标志 if(mode == 1) //mode=1,支持连按 key_up = 1; if(key_up && (KEY1==0 || KEY2==0 || KEY3==0)) { HAL_Delay(10); //去抖动 key_up=0; if(KEY1 == 0) //按键1按下,返回1 return 1; else if(KEY2 == 0) //按键2按下,返回2 return 2; else if(KEY3 == 0) //按键3按下,返回3 return 3; } else if(KEY1==1 && KEY2==1 && KEY3==1) //没有按键按下,松开标志位置1 key_up = 1; return 0; // 无按键按下,返回0 }