找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6335|回复: 17
收起左侧

基于STM32F103单片机智能门禁热释人体感应报警程序设计

  [复制链接]
ID:736193 发表于 2020-4-23 16:32 | 显示全部楼层 |阅读模式
本设计由STM32F103C8T6单片机核心电路+拨动开关电路+按键电路+高亮LED灯电路+LCD1602液晶电路+蜂鸣器报警电路+GSM短信模块SIM800A电路+光敏电阻检测光照强度电路+热释红外感应模块E18电路+电源电路组成。
1、通过热释红外传感器检测是否有人,如果有人靠近门时,液晶屏提示亮并显示欢迎词:Welcome to home!,夜间探测到有人时开灯,灯用9个高亮LED灯设计,无人时,关灯。
2、主人可设定门禁系统工作状态,家里有人和无人两种状态。通过一个拨动开关设置,拨上去,液晶显示有人:Somebody!,拨下来液晶显示没人:Nobody!有人时,客人按下门铃,蜂鸣器鸣叫提示,无人时,客人按下门铃,无任何反应。
3、门外人员逗留时间超过一定时间则发出报警信息。
4、检测到有人或者没有人,有状态指示灯指示。

51hei.png 51hei.png

Snipaste_2020-04-23_16-31-23.png

单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "key.h"
  5. #include "led.h"
  6. #include "lcd1602.h"

  7. u8 lighFlag=0;                //光照 标志
  8. u8 doorFlag=0;                //门检测 标志
  9. u8 manFlag=0;                        //人检测 标志
  10. u8 menlingFlag=0;        //门铃检测 标志
  11. u8 baojFlag=0;                //报警 标志

  12. int main(void)
  13. {
  14.         u32 time10ms=0;
  15.          
  16.         delay_init();                     //延时函数初始化         

  17.         KEY_Init();                  //初始化 按键
  18.         LED_Init();                  //初始化电机引脚 作为输出 类似led
  19.         delay_ms(1);
  20.         
  21.         Lcd_GPIO_init();  //初始化lcd引脚        
  22.         Lcd_Init();                  //初始化lcd屏幕
  23.         delay_ms(20);
  24.         
  25.   Lcd_Puts(0,0,"Waitting for you");        //初始化显示
  26.         Lcd_Puts(0,1,"Nobody!         ");         
  27.          
  28.         buzzer=1;                        //打开 上电开关一下 方便检测
  29.         ligh=1;
  30.         led_hot = 0;
  31.         delay_ms(200);
  32.         led_hot = 1;//关闭 用于测试
  33.         buzzer=0;                        
  34.         ligh=0;
  35.         
  36.         while(1)
  37.         {
  38.                 delay_ms(10);
  39.                 if(manFlag==1)
  40.                 {
  41.                           Lcd_Puts(0,0,"Welcome to home!");        //显示有人
  42.                         if(lighFlag==1)        //有人情况查看是否需要开灯
  43.                         {
  44.                                 ligh=1;//打开 灯
  45.                         }
  46.                         else
  47.                         {ligh=0;}//关闭
  48.                         time10ms++;
  49.                         if(time10ms>=3000)           //有人超过30s 报警
  50.                         {
  51.                                  buzzer=1;  //打开蜂鸣器
  52.                                 baojFlag=1;//报警
  53.                         }
  54.                 }
  55.                 else
  56.                 {
  57.                          Lcd_Puts(0,0,"Waitting for you");   //没有人情况 显示等待
  58.                         ligh=0;                                                                  //没有人关闭led
  59.                         time10ms=0;                                                 //清零紧急报警
  60.                         baojFlag=0;     
  61.         }

  62.                 if(doorFlag==1)
  63.                 {
  64.                   Lcd_Puts(0,1,"Somebody!       ");        //家中有人
  65.                         if(baojFlag==0)                                        //非紧急情况
  66.                         {
  67.                                 if(menlingFlag==1)                //门铃
  68.                                 {
  69.                                          buzzer=1;//打开蜂鸣器
  70.                                 }
  71.                                 else
  72.                                 {buzzer=0;}                //关闭蜂鸣器        
  73.                         }
  74.                 }
  75.                 else
  76.                 {
  77.                         Lcd_Puts(0,1,"Nobody!         ");                //家中无人
  78.                         if(baojFlag==0)                                          //非紧急情况
  79.                         {        buzzer=0;}
  80.                 }
  81.                
  82.                 if(key_menling==0)   //检测
  83.                 {
  84.                         menlingFlag=1;
  85.                 }
  86.                 else
  87.                 {menlingFlag=0;}  //否则复位标志

  88.                 if(key_redhot==1)   //检测人体
  89.                 {
  90.                                 manFlag=1;led_hot = 0;//标志               
  91.                 }
  92.                 else
  93.                 {manFlag=0;led_hot = 1;}  //否则复位标志

  94.                 if(key_door==1)   //检测 门状态
  95.                 {
  96.                         doorFlag=1;
  97.                 }
  98.                 else
  99.                 {doorFlag=0;}  //否则复位标志

  100.                 if(key_ligh==1)   //检测光度
  101.                 {
  102.                                 lighFlag=1;
  103.                 }
  104.                 else
  105.                 {lighFlag=0;}  //否则复位标志
  106.         }                 
  107. }
复制代码

所有资料51hei提供下载:
基于STM32F103单片机智能门禁热释人体感应报警设计.7z (4.56 MB, 下载次数: 329)
回复

使用道具 举报

ID:669463 发表于 2020-4-25 14:19 | 显示全部楼层
这个东西看起来好像有点复杂,但是也不是这么的复杂吧
回复

使用道具 举报

ID:761365 发表于 2020-5-26 22:36 | 显示全部楼层
有没有cubemx的详细设置啊
回复

使用道具 举报

ID:385683 发表于 2020-5-30 16:46 | 显示全部楼层
可以下载收藏用
回复

使用道具 举报

ID:766950 发表于 2020-6-2 08:55 | 显示全部楼层
先看看吧
回复

使用道具 举报

ID:768991 发表于 2020-6-4 00:42 | 显示全部楼层
老哥,可以发一下嘛
想看看
回复

使用道具 举报

ID:774320 发表于 2020-6-12 15:08 | 显示全部楼层
你好,能加个好友请教你一下吗?
回复

使用道具 举报

ID:779883 发表于 2020-6-15 13:49 | 显示全部楼层
请问有protues仿真嘛?
回复

使用道具 举报

ID:761802 发表于 2020-6-18 23:30 | 显示全部楼层
你好,板子你是自己弄的吗?
回复

使用道具 举报

ID:828221 发表于 2020-10-12 10:58 来自手机 | 显示全部楼层
你好可请教一下吗
回复

使用道具 举报

ID:828221 发表于 2020-10-12 13:29 来自手机 | 显示全部楼层
你好 32的板子是自己做的还是买的?那个店的
回复

使用道具 举报

ID:833761 发表于 2020-10-24 20:06 | 显示全部楼层
我下载了,没原理图怎么办,楼主救命
回复

使用道具 举报

ID:328014 发表于 2020-10-26 03:08 | 显示全部楼层
laidage2450 发表于 2020-10-24 20:06
我下载了,没原理图怎么办,楼主救命

我在楼主的压缩包里面帮你找到了
51hei.png
回复

使用道具 举报

ID:859339 发表于 2020-12-15 14:42 | 显示全部楼层
这个能用嘛
回复

使用道具 举报

ID:831576 发表于 2021-1-30 13:35 | 显示全部楼层
这是哪家店的
回复

使用道具 举报

ID:821300 发表于 2021-2-25 22:04 | 显示全部楼层
有相关文档吗
兄弟???
回复

使用道具 举报

ID:381245 发表于 2021-3-7 16:51 | 显示全部楼层
虽然不复杂,但谢谢楼主分享!!
回复

使用道具 举报

ID:1078204 发表于 2023-8-28 16:00 来自手机 | 显示全部楼层
感觉代码和原理图不一样,引脚配置对不上。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表