本设计的硬件构成:
主机:STM32F103C8T6单片机最小系统板,液晶显示、按键、蜂鸣器、LORA模块、风扇驱动模块、蓝牙模块组成;
从机:STM32F103C8T6单片机最小系统板,温湿度传感器、PM2.5模块,红外人体传感器、LORA模块组成;
主机原理图:
从机原理图:
功能介绍:
1、系统采用主机和从机结构,主机和从机采用LORA通信。
2、从机:采集环境温湿度、PM2.5数据,并通过LORA模块上传给主机;
3、主机:接收从机的数据,并显示各传感器的数据;通过按键可设置温湿度和PM2.5的监测阈值;当超过阈值时,蜂鸣器声光报警,自动打开通风风扇进行降温通气。
4、从机:具有监控模式,监测人体信号;当主机的按键进入监控模式,从机检测到人时,进行声光报警。
5、可通过蓝牙模块,手机APP实时显示当前传感器数据。
主要物料清单及型号:
显示屏:LCD1602-5V;
单片机:STM32F103C8T6;
LORA模块:HC-14;
PM2.5传感器:DC01红外PM2.5;
红外人体传感器:SR602;
蜂鸣器:5V有源蜂鸣器;
温湿度传感器:DHT11;
风扇:5V散热风扇;
主机主程序:
int main(void)
{
u8 ID = 0;
u8 key=0,t=0;
u8 dir=1;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为115200
KEY_Init();
LED_Init(); //LED端口初始化
TIM2_Int_Init(999,7199);//10Khz的计数频率,计数到1000为100ms
Adc_Init();
delay_ms(200);
while(1)
{
if(HR==1)
{
people_flag=4;
}
if(T_100ms>=10)
{
T_100ms=0;
if(people_flag>0)
people_flag--;
getDHT11Data(); //获取湿度数据
light=(Get_Adc_Average(9,10));
get_lora_data();
printf("%s",lora_data);
}
}
}
资料链接:https://pan.baidu.com/s/1nIm6bbTqOh86rfXf4wMPrQ
提取码:oymt