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

相关推荐
Hello_Embed1 小时前
Modbus 传感器开发:STM32F030 libmodbus 移植
笔记·stm32·学习·freertos·modbus
余生皆假期-5 小时前
硬件基础知识补全【四】通用、整流和肖特基二极管
单片机·嵌入式硬件
czhaii6 小时前
双直流电机BTS7960模块正反转程序
单片机·嵌入式硬件
一路往蓝-Anbo6 小时前
第 1 章:M33 领航——STM32MP257F-DK 硬件解密与启动逻辑重构
linux·stm32·嵌入式硬件·重构
一路往蓝-Anbo7 小时前
第 2 章:全能开发环境与交叉编译工具链构建
stm32·单片机·嵌入式硬件·网络协议
我在这里呀9 小时前
DSP 多个 PWM 同步总出问题?28377S 同步链路和主从配置一次讲清!
单片机·嵌入式硬件
余生皆假期-10 小时前
硬件基础知识补全【六】BJT 晶体管 (三极管)
单片机·嵌入式硬件
嵌入式×边缘AI:打怪升级日志10 小时前
ARM Cortex-M 单片机启动流程与向量表深度解析(保姆级复习笔记)
arm开发·笔记·单片机
叫我韬韬10 小时前
硬核调试:在 Keil 中通过全手动栈回溯定位 FreeRTOS 死机任务
stm32·单片机·freertos
jyhappy12311 小时前
深入理解 STM32 的 GPIO — 从零开始点亮第一颗 LED
c语言·stm32·单片机·嵌入式硬件·mcu