一、传感器简介
MQ3是汉威电子生产的乙醇传感器,具有相应性快、敏感性高、稳定性高、使用寿命长、外围电路简单等优点,常用于酒精监测、呼吸分析仪等场景。
引脚定义
- VCC: 5V
- A0: host ADC
- D0: host GPIO
- GND: GND
二、技术参数
- 工作电压:DC5V
- 板子尺寸:32mm*20mm*22mm
- 工作电流:150mA(DC5V)
- 乙醇浓度监测范围:0.05mg/L - 10mg/L
- 使用温度范围: -10 - 50摄氏度
- 传感器通电后需要静止20S,读取的数据是稳定的
三、软件接口
MQ3乙醇传感器HaaS Python驱动:下载地址
MQ3(adcObj) - 创建MQ3驱动对象
- 函数原型:
mq3Obj = MQ3(adcObj)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
adcObj | ADC | 是 | 确保在调用此函数之前adcObj对象已处于open状态 |
- 返回值: 成功创建对象,返回MQ3对象;MQ3对象创建失败,抛出Exception
- 示例代码:
from mq3 import * # MQ3温湿度传感器驱动库 # 初始化ADC类型的设备 adc = ADC() adc.open("mq3") mq3Dev = MQ3(adc)
- 输出: 无
getVoltage - 测量乙醇浓度电压值
- 函数功能: 测量乙醇并返回测量结果
- 函数原型:
MQ3.getVoltage()
- 参数说明: 无
- 返回值: 成功返回温度测量结果(数据类型:浮点类型;单位:mV);失败抛出Exception
- 示例:
from mq3 import * # MQ3温湿度传感器驱动库 adc = ADC() adc.open("mq3") mq3Dev = MQ3(adc) while 1: voltage = mq3Dev.getVoltage() print("voltage:%d" % voltage) sleep_ms(500)
- 输出:
voltage: 800.0
四、接口案例
这个用例子是board.json定义名称mq3的ADC类型对象Python在日志中定期获取温湿度测量结果并打印脚本。
- 代码:
# board.json配置:
{ "name": "board-name", "version": "1.0.0", "io": { "mq3": { "type": "ADC", "port": 7, "sampling": 12000000 } }, "debugLevel": "ERROR", "repl": "disable" }
# Python代码
import utime # 延时API所在组件 from mq3 import * print("Testing mq3 ...") adc = ADC() adc.open("mq3") mq3Dev = MQ3(adc) while 1: voltage = mq3Dev.getVoltage() print("voltage:%d" % voltage) sleep_ms(500) adc.close() del mq3Dev print("Test mq3 done!")
- 输出:
... Testing mq3 ... voltage: 500 ...
五、通信协议
通过主控芯片ADC读取MQ乙醇数据3传感器。
六、工作原理
mq-3 需要预热, 从下面的结构图可以看出,它周围有两层钢罩,称为防爆网,以确保传感器在测量乙醇浓度时不会爆炸。

从下图可以看出mq-乙醇传感器内部集成对乙醇最敏感,乙醇传感器的电阻会随着乙醇浓度的增加而降低。
更多即用传感器,请前往
https://haas.iot.aliyun.com/solution/hardwarehttps://haas.iot.aliyun.com/solution/hardware