当前位置: 首页 > news >正文

stm32项目(28)——基于stm32的环境监测并上传至onenet云平台

1.设计需求

用STM32F103C8T6,DHT11,MQ-4,GP2Y1010AU0F,esp8266,OLED等模块,
采集环境温度、湿度、PM2.5、瓦斯浓度等参数,并且在OLED屏幕上显示。
瓦斯浓度设置报警阈值,超过阈值报警,并且打开风扇通风。阈值通过按键调整。
配置WIFI模块,将数据发送到ONENET云平台,在电脑端进行显示。

硬件包括传感器、放大电路、A/D、显示、报警、电源等部分。
 

2.原理图

3.功能演示

基于STM32的环境监测系统并发送至OneNet云平台

4.主要模块

4.1烟雾传感器

MQ-2是一种广泛使用的半导体式气敏传感器,主要用于检测可燃气体(如甲烷、丙烷、氢气)和烟雾浓度,适用于火灾预警、燃气泄漏监测等场景。其特点是成本低、响应快,但需要预热稳定时间。


1. 基本特性

  • 检测气体

    • 可燃气体(甲烷、丙烷、丁烷、氢气等)

    • 烟雾(如木材、纸张燃烧产生的烟雾)

  • 工作电压:5V DC(部分模块支持3.3V)

  • 输出信号

    • 模拟输出(AO):电压值(0~5V)随气体浓度变化

    • 数字输出(DO):阈值触发(高/低电平)

  • 预热时间:约20~30秒(初次上电需稳定)

  • 灵敏度调节:通过电位器调整数字输出的触发阈值


2. 硬件接口(4引脚)

引脚功能连接说明
VCC电源(5V)接单片机5V引脚
GND接地接单片机GND
DO数字信号输出接单片机GPIO(如D2)
AO模拟信号输出接单片机ADC引脚(如A0)

📌 注意

  • 部分模块自带比较器(LM393),可通过电位器调节数字输出的触发阈值。

  • 若单片机为3.3V系统(如STM32),需确认模块是否兼容3.3V逻辑电平。


3. 信号传输与数据解析

(1) 模拟输出(AO)

  • 输出电压随气体浓度升高而增大(0~5V)。

  • 单片机通过ADC读取电压值,并映射为浓度:

  • 需校准:在洁净空气中读取基准值,再对比目标气体浓度。

(2) 数字输出(DO)

  • 当气体浓度超过阈值时,DO引脚输出低电平(触发报警)。

  • 阈值可通过模块上的电位器调节。

本次工程,使用它的AO引脚,将模拟电压转换为浓度即可

4.2PM2.5传感器

GP2Y1014AU粉尘传感器

该模块驱动代码:

float GetGP2Y(void)
{
   u32 AD_PM;
   double pm;
   GP2Y_LED=0;
   delay_us(280);
   AD_PM = Get_Adc(ADC_Channel_0); //PA0
   delay_us(40);
   GP2Y_LED=1;
   delay_us(9680);
   pm = (0.17*(5*AD_PM/4096.0)-0.1)*1000;       //转换公式  单位:ug/m3
   return pm;
}

5.源文件

压缩包内有代码、原理图、代码讲解视频、材料清单等等

基于STM32的环境监测系统并发送至OneNet云平台资源-CSDN下载https://download.csdn.net/download/guangali/91670509?spm=1001.2014.3001.5501

http://www.lryc.cn/news/621203.html

相关文章:

  • LT3045EDD#TRPBF ADI亚德诺 超低噪声LDO稳压器 电子元器件IC
  • web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库
  • 模型选择与调优
  • 0814 TCP和DUP通信协议
  • 2021睿抗决赛 猛犸不上 Ban
  • 十分钟学会一个算法 —— 快速排序
  • ASCII与Unicode:编码世界的奥秘
  • 【前端工具】使用 Node.js 脚本实现项目打包后自动压缩
  • C#WPF实战出真汁02--登录界面设计
  • 微服务从0到1
  • 在Ubuntu上安装Google Chrome的详细教程
  • Ubuntu下载、安装、编译指定版本python
  • 大规模调用淘宝商品详情 API 的分布式请求调度实践
  • 大规模分布式光伏并网后对电力系统的影响
  • 自动驾驶与人形机器人的技术分水岭
  • dolphinscheduler中任务输出变量的问题出现ArrayIndexOutOfBoundsException
  • 【记录】Apache SeaTunnel 系统监控信息
  • 反射在Spring IOC容器中的应用——动态创建Bean (补充)
  • Linux 上手 UDP Socket 程序编写(含完整具体demo)
  • 基于SpringBoot+Vue的房屋匹配系统(WebSocket实时通讯、协同过滤算法、地图API、Echarts图形化分析)
  • css中container和media的用法和区别
  • 【Docker】安装kafka案例
  • BGP笔记及实验
  • Windows 11操作系统 Git命令执行速度慢
  • LLM 中 语音编码与文本embeding的本质区别
  • [论文阅读] 人工智能 + 软件工程 | 从模糊到精准:模块化LLM agents(REQINONE)如何重塑SRS生成
  • OpenCV图像处理2:边界填充与平滑滤波实战
  • 数据结构之顺序表相关算法题
  • latex 中破折号的输入
  • 【PCB设计经验】3D模型在线预览!效率便捷!