【STM32小案例 05 】STM32使用MQ135检测环境空气质量

本文仅简单驱动MQ1135进行环境空气质量的检测。

实验环境:

(一)STM32F10X 单片机

(二)MQ135空气质量模块



第一步:MQ135正确与STM32接线


MQ135的外观如下



我们先来看引脚有哪些?




MQ135模块使用5V进行驱动,D0输出数字信号,A0输出模拟型号。

D0输出就相当一个开关电源,到了设定值进行跳转,基本没啥用处。

除非你要做一个气体上限报警装置那就用D0引脚吧。

我们这里使用的A0引脚进行模拟信号的输入和输出


连线:

5V+ 接开发板正极5V

5V- 接开发板负极GND

D0 接板载要开启ADC的引脚    我这里是GPIOC1


第二步:看一下外设参数







由图上我们可以知道,该外设可以检测多种有害气体。

具体的可以进行计算,得到相关要检测气体的方程式。

我们这里只进行空气质量的检测。


第三步:ADC和DMA的编写


该模块的使用非常简单,只需开启ADC端口的浮空输出,就可以检测相关的电压信号

我们再根据电压信号进行计算,得到一个相对来说准确的数据


我这里把ADC和DMA卸载一起了


我的mq135adc.c文件




代码一部分,先配置GPIO




再来配置DMA,最后配置ADC




我的代码已经备注的很详细了。

分别对 GPIO/DMA/ADC 进行配置


再看一下头文件



头文件就是声明一下变量和一个相关宏定义 ,这里注意一下


这里的ADC1_DR_Address 是DMA传输的外设地址 , 这一个非常重要


这里查询 STM32使用手册 中的外设地址就可以得到基地址,我们还要加上偏移量




偏移量就是相关寄存器的地址偏移,具体的使用翻STM32的用户手册


第四步:在主程序main.c中进行相关调用,

我这里比较丰富....就不单独举例了,直接贴上我的程序


大家有问题的可以直接留言问我

我还是分成几个部分上传吧






这是我目前用的下位机的传输程序,其中有多个传感器的数据回传信息。

但是我备注的非常清楚,所以大家还是看得懂的哈。


第五步:回传数据到上位机


打开我的MySQL数据库,就可以看到我的多种数据啦

最后一项就是MQ135的读数


有人问STM32怎么传给MySQL? 我的主语言使用的是Python进行上位机开发

我另外一个文章分类有些如何通过蓝牙串口/串口进行数据的接收并且传入数据库

大家可以看看,有不懂的可以问我。

                                                    

  • 84
    点赞
  • 452
    收藏
    觉得还不错? 一键收藏
  • 113
    评论
评论 113
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值