STM32CubMX_MQ135检测空气质量

这篇具有很好参考价值的文章主要介绍了STM32CubMX_MQ135检测空气质量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、MQ135简介

MQ135是测量空气污染情况常用的一个传感器,具有代表性,价格低,寿命长,敏感度也OK,主要用于测量空气中二氧化碳,氮氧化物,氨气,酒精,苯类等。这几样气体可以说都属于家用空气污染测定中的重要成份,因此用这个传感器刚刚好。

MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。

注: pm2.5的话要用另外类型的传感器,比如SDS011

  • 特点:

    • 在较宽的浓度范围内对有害气体有良好的灵敏度;
    • 对氨气、硫化物、苯系等气氛灵敏度高;
    • 长寿命、低成本;
    • 简单的驱动电路即可;
  • 应用:

    • 家庭用空气污染报警器;
    • 工业用空气污染报警器;
    • 便携式空气污染报警器;
  • MQ135传感器

STM32CubMX_MQ135检测空气质量

  • 该传感器有两个输出口:
    • DO:输出信号数字,也就是对应单片机的电平高低;
    • AO:输出模拟信号,也就是ADC信号;

二、MQ135与STM32的接线

STM32CubMX_MQ135检测空气质量

  • MQ135模块使用5V进行驱动,DO输出数字信号,AO输出模拟信号。
  • DO输出:就相当于一个开关电源,到了设定的值进行跳转,基本没啥用处。如果需要做一个气体上限报警装置,此时可以使用DO引脚。
  • AO输出:进行模拟量的输入和输出。
    • 注: 根据自己的设计需求,烟雾仅作为报警项,不需要测量具体气体的浓度,故选择数字量输出即可。

使用说明:

  • DOUT输出数字信号: TTL输出有效信号为低电平(输出低电平时信号灯亮);
  • AOUT输出数字信号: 模拟量输出随浓度增加而增加,浓度越高电压越高;
    STM32CubMX_MQ135检测空气质量
AOUT作为模拟信号输出引脚,直接将AOUT脚接STM32的AD转换的输入脚,ADC将采集到的模拟信号转换为数字信号。在正常环境中,即:没有被测气体的环境,设定传感器输出电压值为参考电压,这时,AOUT端的电压在1V左右,当传感器检测到被测气体时,电压每升高0.1v,实际被测气体的浓度增加20ppm(简单的说:1ppm=1mg/kg=1mg/l=1×10-6 常用来表示气体浓度,或者溶液浓度。),根据这个参数就可以在单片机里面将测得的模拟量电压值转换为浓度值。

注: 传感器通电后,需要预热20s左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。输出浓度和电压关系的比值并非线性,而是趋于线性,所以测量值存在误差。


三、新建工程

1.打开STM32CubeMX软件,点击“新建工程”

STM32CubMX_MQ135检测空气质量

2. 选择 MCU 和封装

STM32CubMX_MQ135检测空气质量

3.配置时钟

STM32CubMX_MQ135检测空气质量
STM32CubMX_MQ135检测空气质量
具体学习可以参考:本人博客网站-RCC学习

4.配置调试模式

STM32CubMX_MQ135检测空气质量

5.I2C配置
  • 初始化参数配置:
    Connectivity中选择I2C2设置,将其使能,其他配置默认。用以通过I2C协议连接OLED显示屏
    STM32CubMX_MQ135检测空气质量
6.ADC配置
  • 初始化参数配置:
    Analog中选择ADC1设置,仅以规则通道为例,开启通道0(IN0),将ADC1的通道0(IN0)对应的引脚(PA0)MQ135AO引脚用杜邦线连接起来,用以接收模拟量。
    STM32CubMX_MQ135检测空气质量
7.生成代码

输入项目名称和路径。(注:路径中不允许出现中文。)
STM32CubMX_MQ135检测空气质量
选择应用的IDE,开发环境MDK-ARM V5
STM32CubMX_MQ135检测空气质量
每个外设生成独立的 ’.c/.h’ 文件

  • 不勾: 所有初始化代码都生成在 main.c
  • 勾选: 初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。
    STM32CubMX_MQ135检测空气质量
    点击 GENERATE CODE 生成代码
    STM32CubMX_MQ135检测空气质量

四、编写代码

main.c文件中,添加一下代码:

  • 定义变量:接收数据;
  /* USER CODE BEGIN 1 */
    float temp;
    int Val;
  /* USER CODE END 1 */
  • 对ADC进行代码具体操作:
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
        HAL_ADC_Start(&hadc1);
  
        HAL_ADC_PollForConversion(&hadc1, 50);
        
        if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC))
        {
            Val = HAL_ADC_GetValue(&hadc1);
        }
        temp = (float)Val*3.3 / 4096;
        
        OLED_ShowString(0,2,&Font_8x16,"ADC:%02d",Val);
        OLED_ShowString(0,4,&Font_8x16,"VOL:%02f",temp);
        
        HAL_Delay(1000);
  }

五、实验结果:

STM32CubMX_MQ135检测空气质量文章来源地址https://www.toymoban.com/news/detail-411418.html


参考资料:
  • STM32基于MQ135+STM32的环境空气质量检测
  • 聊一个空气质量传感器——MQ135
  • ESP8266-NodeMCU

谢谢阅读。

到了这里,关于STM32CubMX_MQ135检测空气质量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机毕业设计 STM32智能空气质量检测仪 - 环境检测盒子 嵌入式 物联网

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于STM32的空气质量检测仪 大家可用于 课程设计 或 毕业设计 如今人们大约 80%的时间是在室内度过的, 室内空气质量与我们每个人的工作和生活都息息相关, 因此对生活环境的空气质量提出了更高的要求。 针对雾霾、 室内

    2024年02月10日
    浏览(38)
  • 基于单片机的空气质量检测系统

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式   本设计使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转

    2024年02月07日
    浏览(31)
  • 【特纳斯电子】基于单片机的空气质量检测仪-实物设计

    资料查找方式: 特纳斯电子(电子校园网):搜索下面编号即可 T2212204C-SW 本设计是基于单片机的空气质量检测仪,主要实现以下功能: 1.可以通过显示屏来显示温度、湿度、PM2.5浓度、一氧化碳浓值。 2.通过温湿度模块来检测环境温度湿度值。 3.通过PM2.5检测器来检测PM2.5值

    2024年02月19日
    浏览(42)
  • 【雕爷学编程】Arduino智能家居之空气质量检测与手机推送提醒

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年02月05日
    浏览(39)
  • 大数据毕业设计python+spark天气预测 天气可视化 天气大数据 空气质量检测 空气质量分析 气象大数据 气象分析 大数据毕设 计算机毕业设计 机器学习 深度学习 人工智能 知识图谱

    论文题目 选题依据 天气预测是指综合使用现代科学技术对某一地区未来一段时间的温度、湿度、风力、风向、天气状况等进行预测。在当今社会,天气预测对人们的生产生活有着举足轻重的影响,与日常出行、农业生产、自然灾害预防等多个领域息息相关,是现代社会正常运转

    2024年04月26日
    浏览(45)
  • 【雕爷学编程】Arduino智能家居之使用SGP30气体传感器检测空气质量并发送警报

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年04月10日
    浏览(45)
  • 空气质量查询API促使空气数据可视化

    引言 在当今的现代化社会中,关注和改善空气质量已成为人们共同的关切。随着科技的不断发展,空气质量查询API为我们提供了一种前所未有的方式来实时监测、分析和改善我们所处的环境。这一工具不仅让我们更深入地了解空气质量,还鼓励了空气数据的可视化,使其更易

    2024年02月08日
    浏览(36)
  • 基于大数据的空气质量预测与可视化分析

    1.内容及要求: 随着工业化和城市化进程的加快,空气污染已成为全球面临的主要环境问题之一。二零二零年我国提出“碳达峰碳中和”的目标,更加深刻我国走可持续发展道路的脚步。在我国,特别是某些大城市,由于车辆排放、工业排放和其他人为活动,空气质量问题

    2024年03月20日
    浏览(45)
  • 基于大数据的空气质量预测和可视化分析

    城市化与环境挑战 :随着城市化进程的加快,环境污染问题,尤其是空气质量问题,已成为公众关注的焦点。 数据监测的重要性 :城市空气质量数据的准确获取对于环境管理和政策制定至关重要,但目前存在数据来源不稳定和质量参差不齐的问题。 发达国家的监测体系 :

    2024年04月17日
    浏览(33)
  • 基于单片机的室内空气质量监控系统设计

    摘 要 I Abstract II 引 言 1 1 控制系统设计 3 1.1 方案选择 3 1.2 系统控制原理 4 2系统硬件设计 5 2.1 单片机的选择与设计 5 2.2 温湿度模块设计 6 2.3 甲醛采集模块设计 8 2.4 显示器模块设计 9 2.5 按键模块设计 10 2.6 报警模块设计 11 2.7 加湿及风扇模块设计 11 3系统软件设计 13 3.1 总流

    2024年03月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包