基于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

相关推荐
无垠的广袤19 分钟前
【CPKCOR-RA8D1】RUHMI 转换 AI 模型
人工智能·python·嵌入式硬件·开发板
望眼欲穿的程序猿1 小时前
SDCC+Ai8051U 中断点灯
stm32·单片机·嵌入式硬件
youcans_1 小时前
【动手学STM32G4】(15)三路互补带死区 PWM 输出
stm32·单片机·嵌入式硬件·pwm·死区
小慧10242 小时前
外部中断与回调函数
stm32·单片机·嵌入式硬件
加斯顿工程师2 小时前
STM32F103C8T6驱动DS18B20温度传感器程序
stm32·单片机·嵌入式硬件
czy87874752 小时前
LwIP 协议栈核心.c 文件依赖关系图
c语言·网络·单片机
猪八戒1.02 小时前
L C D
开发语言·stm32
YouEmbedded2 小时前
解码STM32 看门狗、低功耗与RTC外设
stm32·低功耗·rtc·看门狗·闹钟
YouEmbedded3 小时前
解码模数转换器(ADC)
stm32·adc·电位器adc·ps2摇杆模块adc·adc数据滤波算法·光敏电阻adc
Zeku3 小时前
Linux驱动学习笔记:SPI子系统中的内核线程初始化
stm32·freertos·linux驱动开发·linux应用开发