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

相关推荐
芯岭技术9 小时前
PY32L020系列32位MCU,超低功耗、高性价比,支持三种低功耗模式
单片机·嵌入式硬件
危桥带雨14 小时前
RTC理论知识
stm32·单片机·嵌入式硬件·实时音视频
ElfBoard16 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网
踏着七彩祥云的小丑16 小时前
嵌入式——认识电子元器件——二极管系列
单片机·嵌入式硬件
Jack_022017 小时前
基于51单片机的智能电动窗帘控制OLED显示设计
单片机·嵌入式硬件·51单片机·智能家居·oled显示·电动窗帘
sz49723859917 小时前
vscode多种编译环境共存的方法
ide·vscode·stm32·编辑器·esp32
摘星台17 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机
Joseph Cooper17 小时前
STM32MP157 Linux驱动学习笔记(三):系统级驱动框架(UART/PCIe)
linux·stm32·学习
森G18 小时前
STM32F103C8T6工程---标准库版usart2写回显
stm32·单片机
EVERSPIN18 小时前
基于MCU CH32X035 Type-C PD显示器方案
单片机·mcu·计算机外设