基于stm32单片机的粮库环境监测系统设计-LORA通信-PM2.5-温湿度-人体检测

本设计的硬件构成:

主机: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

相关推荐
崇山峻岭之间5 分钟前
单片机无感FOC驱动之ADC
单片机·嵌入式硬件
Ligocious20 分钟前
1.点亮一颗小小的LED
单片机·嵌入式硬件
KaifuZeng4 小时前
通信与接口协议面试八、CAN通信
单片机·嵌入式硬件·面试·通信与接口协议
智源单片机设计5 小时前
基于单片机的直流电机双闭环调速系统设计
单片机·嵌入式硬件
kebidaixu6 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片详解
stm32
kebidaixu6 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片调试实录:四个关键问题与解决方案
stm32
wuyk55519 小时前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
☆cwlulu20 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu
lzqrzpt21 小时前
LED驱动电源选型标准与工程应用技术要点解析
python·单片机·嵌入式硬件·物联网