赞
踩
MQ135
是测量空气污染情况常用的一个传感器,具有代表性,价格低,寿命长,敏感度也OK,主要用于测量空气中二氧化碳,氮氧化物,氨气,酒精,苯类等。这几样气体可以说都属于家用空气污染测定中的重要成份,因此用这个传感器刚刚好。
MQ135
气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
注: pm2.5
的话要用另外类型的传感器,比如SDS011
。
特点:
应用:
MQ135
模块使用5V进行驱动,DO输出数字信号,AO输出模拟信号。DO输出
:就相当于一个开关电源,到了设定的值进行跳转,基本没啥用处。如果需要做一个气体上限报警装置,此时可以使用DO
引脚。AO输出
:进行模拟量的输入和输出。
TTL
输出有效信号为低电平(输出低电平时信号灯亮);注: 传感器通电后,需要预热20s左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。输出浓度和电压关系的比值并非线性,而是趋于线性,所以测量值存在误差。
具体学习可以参考:本人博客网站-RCC学习
Connectivity
中选择I2C2
设置,将其使能,其他配置默认。用以通过I2C
协议连接OLED
显示屏Analog
中选择ADC1
设置,仅以规则通道为例,开启通道0(IN0)
,将ADC1的通道0(IN0)
对应的引脚(PA0)
与MQ135
的AO引脚
用杜邦线连接起来,用以接收模拟量。输入项目名称和路径。(注:路径中不允许出现中文。)
选择应用的IDE
,开发环境MDK-ARM V5
每个外设生成独立的 ’.c/.h’ 文件
在main.c
文件中,添加一下代码:
/* USER CODE BEGIN 1 */
float temp;
int Val;
/* USER CODE END 1 */
/* 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); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。