目录
1.功能设计
2.硬件方案
1.单片机选择
2.人体传感器
3.报警模块
3.程序设计
4.课题意义
5.未来发展
1.功能设计
本系统为日常生活而开发的人体感应报警系统,主体通过HC-SR501模块达到感知人体靠近,检测到人体后单片机控制蜂鸣器和LED灯,达到对人体靠近而产生报警的目的,在一定程度上增强了用户对居住环境的安全感。同时系统还配备了TFT液晶显示屏,将有人无人的情况实时显示在屏幕上,有人时显示有人,没人时显示没人。人机交互体验感较好。
实物演示视频如下所示:
人体检测演示视频
2.硬件方案
1.单片机选择
本次使用的单片机是正点原子的mini开发板,板载芯片型号是stm32f103rct6,实物图如下:
STM32F103RCT6是一款由STMicroelectronics(意法半导体)生产的32位ARM Cortex-M3微控制器。它是STM32F1系列微控制器的一部分,具有128KB的闪存和20KB的SRAM。该微控制器采用LQFP64封装,具有多种通信接口(如SPI、I2C和USART)和多个引脚,适用于各种应用领域,包括工业控制、消费电子、嵌入式系统等。它还具有丰富的外设功能,包括定时器、GPIO、ADC和DAC等。
2.人体传感器
人体传感器选择HC-SR501,实物图如下:
HCSR501是一种常见的人体红外感应模块。它可以用来检测人体的存在或活动,并在检测到人体时发出信号。该模块基于红外感应技术,具有快速响应、低功耗和简单易用等特点。
HCSR501模块通常由一个红外传感器、一个比较器芯片和一个电路板组成。红外传感器用于检测人体发出的红外辐射,当有人体接近时,传感器会感应到变化并输出电信号。比较器芯片用于对传感器输出信号进行比较,当信号超过设定阈值时,比较器将输出高电平信号,表示检测到人体。 所以直接用单片机的一个IO口,配置为输入模式,检测HCSR501的输出电平,即可实现对人体的检测。当HCSR501输出高电平时,就代表有人靠近,否则无人。
(注意要想使这个模块正常工作,需要合理地调节延时电位器和灵敏度电位器!)
3.报警模块
蜂鸣器选择有源蜂鸣器,低电平触发,这个可以直接用单片机IO口输出的低电平驱动它。LED使用mini板子上自带的LED,也是低电平触发。
有源蜂鸣器(Active Buzzer)是一种集成了振荡器和驱动电路的蜂鸣器。与无源蜂鸣器相比,有源蜂鸣器不需要外部的振荡电路或驱动电路,可以直接通过给定的输入信号发出声音。
有源蜂鸣器的主要特点包括:
1. 驱动电路集成:有源蜂鸣器内部集成了驱动电路,可以直接通过给定的输入信号发出声音,而无需额外的振荡电路或驱动电路。
2. 简单易用:由于有源蜂鸣器内部已经集成了必要的电路,使用起来非常简单。只需提供适当的电源和输入信号即可发出声音。
3. 需要外部电源:由于有源蜂鸣器需要正常工作所需的电路集成在内部,因此需要外部电源供应。
4. 发声频率可调:通过调整输入信号的频率,可以控制有源蜂鸣器发出的声音频率。
5. 声音较为清晰:有源蜂鸣器通常可以发出较为清晰的声音,且音量较高。
有源蜂鸣器在许多电子设备和嵌入式系统中被广泛应用,例如警报器、提示音、提醒器等。它具有使用简便、音质清晰等优点,适用于需要发出声音提示的各种应用场景。
3.程序设计
/*
接线方式:
人体传感器--->PC5
蜂鸣器---->PC0
*/
本次设计逻辑很简单,检测到有人报警,没检测到就不报警。代码如下
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
/*
接线方式:
人体传感器--->PC5
蜂鸣器---->PC0
*/
int main(void)
{
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init(); //蜂鸣器初始化
renti_Init(); //人体传感器初始化
LCD_Init();
POINT_COLOR=RED;
BEEP=1; //默认情况下 蜂鸣器不响
while(1)
{
if(RENTI==1) //如果检测到有人
{
LCD_ShowString(30,40,200,16,16,"somebody"); //屏幕显示有人
BEEP=0; //蜂鸣器响
LED0=!LED0; //LED闪烁
delay_ms(200);
}
else
{
LCD_ShowString(30,40,200,16,16,"nobody "); //屏幕显无人
BEEP=1; //蜂鸣器不响
LED0=1; //LED灭
}
delay_ms(1000);
}
}
4.课题意义
基于STM32的人体检测系统的课题意义在于能够应用于多个领域,并具有以下重要意义:
1. 安防领域:人体检测系统可以应用于安防系统中,帮助监控区域及时发现和报警入侵行为,提高安全性。
2. 自动化控制:人体检测系统可以用于自动化控制系统,例如在室内环境中,根据检测到的人体活动来自动开启或关闭照明、空调等设备,提高能源利用效率。
3. 医疗保健:人体检测系统可以在医疗领域中应用,例如监测病房内患者的活动情况,及时发现意外情况或监测老年人的行为,实时关注他们的安全。
4. 环境监测:人体检测系统可以用于环境监测,例如在公共场所统计人流量,分析拥挤程度,以便做出相应的管理和调整。
5. 智能家居:人体检测系统可以应用于智能家居中,通过检测到的人体活动来自动控制家电设备,提供更便捷、智能的居家体验。
基于STM32的人体检测系统的研究和应用,不仅能够提高各个领域的效率和便利性,还有助于推动物联网和智能化技术的发展,为人们的生活和工作带来更多的便利和安全性。
5.未来发展
基于STM32的人体检测系统在未来有着广阔的发展前景,以下是一些可能的发展情况:
1. 高精度和多功能性:随着技术的不断进步,未来的人体检测系统将更加精确和多功能。传感器的精度将得到提高,可以更准确地检测人体的存在和活动。同时,系统可能会加入更多的功能,如人体姿势识别、情绪识别等,以提供更多的信息和应用场景。
2. 低功耗和小型化:对于移动设备和便携式应用来说,低功耗和小型化是关键。未来的人体检测系统将趋向于更低的功耗,并利用更小的尺寸和集成度,以适应各种移动设备和嵌入式系统。
3. 多模式和多传感器融合:人体检测系统可能会采用多种传感器和多模式的融合,以提高检测的准确性和稳定性。例如,结合红外感应、摄像头图像分析和声音识别等多种技术,综合判断人体的存在和行为。
4. 智能算法和机器学习:机器学习和智能算法的应用将对人体检测系统的发展产生巨大影响。通过对海量数据的学习和分析,系统可以实现更精准和智能的人体检测,并能够自动适应不同环境和场景。
5. 与其他系统的互联互通:未来的人体检测系统很可能会与其他智能系统进行互联互通,如安防系统、智能家居系统、自动驾驶系统等。通过数据共享和协同工作,可以实现更智能和高效的整体系统。
总体来说,基于STM32的人体检测系统在未来将迎来更高精度、更低功耗、更智能化和更广泛的应用。随着技术的发展和需求的增加,人体检测系统将为各个领域带来更多便利和创新。