
我一直觉得气体传感器是物联网和智能家居项目里特别“出片”的一类器件。你想想温湿度能看光线能看但“空气里有没有一氧化碳”“燃气灶是不是忘关了”这种看不见摸不着的东西能通过一个几块钱的元件变成明确的电压信号再变成串口里的数字这件事本身就很有吸引力。MQ-9气体传感器就是这么个东西专门用来检测一氧化碳和甲烷/液化气这一类可燃气体。这篇文章我不打算只给你念数据手册我会把原理、选型、电路、代码、标定、踩坑一条线串下来尽量让你看完就能自己搭一套可用的气体检测方案。适合刚接触传感器的学生、做毕设/课设的工程师还有想在家庭环境里做燃气泄漏提醒的折腾党。MQ-9不是那种“上电就能用”的传感器它需要预热、需要选对负载电阻、需要理解它的输出曲线甚至对环境温湿度都有反应。很多新手第一次用的时候会发现读数乱跳、漂移严重、或者对气体没反应其实是没搞懂它内部的加热器和气敏层是怎么配合工作的。所以我会从最底层的结构讲起再慢慢往上搭看完你会发现这玩意本质上就是一个“会随气体浓度改变阻值的电阻”搞懂这一点后面所有问题都好办了。1. MQ-9气体传感器到底是什么结构拆解与工作原理1.1 从“气敏电阻”说起MQ-9的检测核心是一层二氧化锡SnO2金属氧化物半导体材料。这层材料在洁净空气中会吸附氧气氧气从材料表面夺取电子形成氧负离子导致材料内部的载流子浓度降低整体电阻升高。当环境中出现一氧化碳或甲烷这类还原性气体时气体会与吸附的氧离子发生反应把电子释放回材料表面材料电阻随之下降。简单说气体浓度越高电阻越小。这个“电阻随气体浓度变化”的效应就是MQ-9工作的全部基础这套原理在气体传感器领域通常叫“气敏半导体原理”。为什么要用加热器因为这种氧化还原反应在室温下进行得非常慢需要把材料加热到几百摄氏度才能获得足够快的响应速度。MQ-9内部集成了一根镍铬合金加热丝通电后把陶瓷基板上的二氧化锡薄膜加热到工作温度。所以你拿到传感器待机时摸上去是温热的外壳内部能看到微弱的红光这是正常现象不是坏了。1.2 内部结构与等效电路MQ-9的外观是一个圆柱形金属网罩网罩顶部有透气孔气体可以通过这些孔进入内部接触到气敏材料。网罩本身还有防爆和防尘的作用避免内部加热丝直接暴露在外。拆开这个金属网罩里面有陶瓷管、加热丝、测量电极和二氧化锡涂层。测量电极是两根铂金丝与二氧化锡材料接触负责把材料的电阻变化引出来。在电路层面MQ-9可以等效成两个元件的串联一个是加热电阻一般在32Ω左右5V供电时工作电流约150~160mA消耗功率约0.8W另一个是气敏电阻Rs阻值随气体浓度变化洁净空气中大约在10kΩ到100kΩ之间遇到目标气体后可以降到1kΩ甚至更低。数据手册里给出的输出特性曲线横轴是气体浓度纵轴是Rs/Ro比值两条曲线分别对应一氧化碳和甲烷/液化气。注意这个坐标是对数形式的意味着浓度和电阻之间不是线性关系这一点在后面写换算公式时非常关键。1.3 为什么MQ-9能同时检测两类气体MQ-9的特殊之处在于它对一氧化碳和可燃气体主要是甲烷、液化气都有响应这在MQ系列传感器里是比较少见的。MQ-7主要测一氧化碳MQ-2主要测液化气和烟雾MQ-5偏甲烷而MQ-9一个器件覆盖了CO和可燃气体两个方向因此很适合用在“燃气一氧化碳”的综合预警场景里。代价是它无法区分这两种气体。也就是说当你看到传感器读数升高时只知道环境里有还原性气体超标但具体是CO还是甲烷单靠MQ-9是分辨不出来的。有些模块通过高低温循环加热的方式试图区分但实际效果有限。如果项目要求精确区分气体种类MQ-9不合适得换电化学传感器或者红外传感器。如果只是“检测有没有异常泄漏”MQ-9完全够用。2. 关键参数解读拿到手先搞清楚这些数字2.1 数据手册里的硬指标MQ-9的数据手册官方文档通常是英文的里有一组关键参数我建议你在做电路设计前先逐行看一遍。检测范围方面一氧化碳是10~1000ppm甲烷是200~10000ppm这个范围是传感器能有效响应的浓度区间。低于下限信号被噪声淹没高于上限材料容易饱和恢复需要很长时间。加热电压是5V直流或交流都可以加热电阻约32Ω加热功耗约760mW比MQ-2要低一些。预热时间是24小时初始稳定、48小时达到最佳性能这个时间听起来很夸张但气敏材料出厂后表面状态不稳定需要长时间通电让材料达到平衡状态。灵敏度特性会画成一组曲线在1000ppm一氧化碳条件下Rs/Ro比值大约在1.8~8之间在5000ppm甲烷条件下约在2.5~15之间。看到这个比值区间就能理解MQ-9不是一个高精度测量仪器它的输出存在很大的个体差异和批次差异不同传感器在相同气体浓度下读数可能相差两倍以上。因此只能用于定性检测或粗略定量不要指望它能像专业气体检测仪一样报出精确到个位数的ppm值。2.2 裸传感器和模块该怎么选市面上买MQ-9有两种形态裸传感器元件和集成模块。裸传感器就是四根引脚的金属圆柱体四根引脚分别是两根加热极H脚和两根测量极A、B脚内部相通所以接哪根都行。购买裸传感器需要自己搭分压电路好处是成本低、灵活适合自己画PCB的项目。集成模块则是在传感器外面加了一块小电路板板上已经有了负载电阻、比较器、电位器和数字/模拟双输出接口。模拟输出AOUT是分压后的电压信号数字输出DOUT通过电位器设定阈值后输出高/低电平。新手我建议直接买模块省去很多麻烦等到原理都搞明白了再考虑用裸件自己设计电路。买模块时要注意一个问题很多商家标注的“MQ-9模块”其实用的是国产替代芯片除了引脚兼容之外电气参数和原厂可能略有差异灵敏度标定也会不同。如果你只是做Demo无所谓但如果是做批量产品一定要实测每一批次的零点电阻和满量程响应不能完全依赖数据手册的典型值。2.3 加热电压到底怎么给有人说MQ-9要5V供电有人说要1.5V到底听谁的这两个说法都对只是指的对象不同。裸传感器的加热电阻是32Ω如果直接加5V功率就是5×5/32≈0.78W超过了手册推荐的约0.76W略超但勉强可行。手册标准工作条件是1.5V±0.1V加在加热丝两端这时候功率约70mW远低于5V直供的情况。你可能会问那模块为什么都推荐5V因为模块板上已经集成了稳压或限流电路把输入电压转换成传感器需要的加热电压同时给运放和比较器供电。自己用裸件时最稳妥的做法是看传感器外壳上印的字一般写着“H”的两根脚接加热电压“A”“B”接测量电路。用万用表量加热电阻如果约32Ω就是加热丝如果阻值很大几十kΩ甚至MΩ级就是测量电极。判定好引脚以后加热电压建议先用可调电源从低往高慢慢调观察传感器表面是否微微发红温度稳定后再接测量电路。3. 电路设计详解从模拟信号到数字量化3.1 经典分压电路与电阻选型MQ-9的输出本质是气敏电阻Rs的变化要变成电压信号最简单的办法就是和负载电阻RL组成分压电路。电路很简单电源Vc一般是5V串联RL和Rs从RL两端取电压Vout。根据分压公式Vout Vc × RL / (RL Rs)反推得到Rs RL × (Vc / Vout - 1)。只要测到Vout就能算出当前Rs值。RL选多大很关键RL太小气体浓度低时Rs很大Vout变化不明显RL太大气体浓度高时Rs很小Vout接近Vc同样不敏感。比较好的做法是根据目标气体浓度范围来确定如果主要监测一氧化碳100ppm级别Rs在几十kΩ量级RL取10kΩ~20kΩ比较合适如果主要监测甲烷泄漏几千ppm级别Rs会降到几kΩ以下RL取1kΩ~4.7kΩ更合适。很多模块出厂默认用10kΩ属于中规中矩的折中方案。3.2 ADC采样与数据换算单片机读取传感器输出用的是ADC把0~5V的模拟电压转成0~102310位或0~409512位的数字量。Arduino UNO的ADC是10位假设读到ADC值adc对应的电压就是Vout adc × 5.0 / 1023。然后用上面的公式算Rs再通过数据手册的灵敏度曲线反推浓度。这里有个很多人忽略的坑灵敏度曲线是双对数坐标要在代码里用对数插值不能直接线性缩放。具体的做法是读取几个典型浓度点的Rs/Ro值连成折线浓度介于两点之间时在对数域做插值。你需要先用标定气体测出当前传感器在洁净空气中的Ro值然后才能算Rs/Ro。我实际做的时候发现如果只做阈值报警完全不需要换算成ppm。直接把Vout或者Rs/Ro作为“原始值”通过多次实验确定一个报警阈值简单可靠。换算成ppm看起来很美但误差可能达到30%以上反而误导人。这是很多教程不会告诉你的。3.3 典型的接线方案用Arduino UNO和MQ-9模块接线非常容易模块有四个引脚VCC接5VGND接GNDAOUT接A0DOUT可以接D2作为数字报警输入。如果用的是裸传感器需要在面包板上搭分压电路加热电压接5V模块已处理或者1.5V裸件按手册测量极A和B一端接5V、另一端通过10kΩ电阻接地中间抽头接A0。注意裸件和模块的VCC千万别接反接反会直接烧掉加热丝这个元件没法修复。在给多个传感器供电时要注意电源功率。单个MQ-9加热功耗约0.8W如果接5个传感器就是4W远超Arduino板上稳压芯片能提供的电流必须用外部5V电源单独给传感器供电单片机只和模块共地。我用的时候会把传感器电源和逻辑电源分开用DC-DC模块降压到5V这样读数也稳定很多。4. 实操步骤搭建一套可用的MQ-9气体检测系统4.1 硬件清单与工具准备跑通一套最简单的MQ-9检测系统需要的零件不多。我列一下我常用的清单Arduino UNO或者ESP32、STM32都行、MQ-9模块一个或者裸传感器加10kΩ电阻、面包板一个、杜邦线若干条、5V/2A电源适配器一个、风扇或者继电器模块做联动用、万用表一台。调试阶段最好再准备一个打火机测试甲烷响应和一碗清水模拟高湿环境观察湿度干扰注意测试时打火机不要靠传感器太近免得高温损伤气敏材料。焊接裸传感器的时候建议用IC座过渡不要直接焊在PCB上。因为传感器工作温度较高长期直焊容易导致焊点老化而且后期更换传感器很不方便。我第一版板子就是直接焊上的后来传感器老化想换拆下来费了很大劲第二版改成弹跳座才解决问题。4.2 Arduino读取代码与滑动平均滤波读取MQ-9模拟输出的基础代码很短就是连续读取ADC值并打印。但直接读原始值会发现波动很大这是因为气敏电阻对气流本身就很敏感人在传感器旁边走动带起的微风都能让读数变化。我建议加一个简单的滑动平均滤波取最近20次采样值的平均值。20次是经验值太少滤波效果差太多响应变迟钝气体泄漏检测需要在灵敏度和平稳性之间取平衡。#define MQ9_PIN A0 #define ADC_MAX 1023.0 #define VCC 5.0 #define RL 10.0 // 模块负载电阻单位kΩ const int SAMPLES 20; int sampleIndex 0; float sampleBuffer[SAMPLES]; float sumValue 0.0; void setup() { Serial.begin(9600); for (int i 0; i SAMPLES; i) { sampleBuffer[i] 0; } } float readMQ9() { sumValue - sampleBuffer[sampleIndex]; sampleBuffer[sampleIndex] analogRead(MQ9_PIN); sumValue sampleBuffer[sampleIndex]; sampleIndex (sampleIndex 1) % SAMPLES; return sumValue / SAMPLES; } void loop() { float adcAvg readMQ9(); float vout adcAvg * VCC / ADC_MAX; float rs RL * (VCC / vout - 1); // 注意vout为0时的处理 Serial.print(ADC); Serial.print(adcAvg); Serial.print( Vout); Serial.print(vout, 3); Serial.print( V Rs); Serial.print(rs, 1); Serial.println( kOhm); delay(200); }注意第28行里如果vout恰好为0或者非常接近0rs会变成无穷大程序中需要做保护判断。实际发生的情况一般是传感器没接好或者线断了在代码里加一个if(vout0.01)判断输出错误提示。4.3 阈值报警与继电器联动读取只是第一步实际项目里更关心“什么时候报警”。这就要用到DOUT数字输出或者代码里的阈值判断。如果用模块的DOUT板上有个蓝色电位器用螺丝刀旋转可以调节参考电压也就是报警阈值。具体调法把传感器放在洁净空气中测AOUT电压再把电位器慢慢调到DOUT临界翻转的位置留一点余量即可。这个方式简单但是滑调一遍比较费时间而且电位器本身有温漂环境温度变化后阈值可能会偏移。我更推荐用代码判断不做硬件电位器调节。在loop里对比滑动平均后的原始值或者换算后的Rs值超过阈值就联动继电器、蜂鸣器、风扇。下面这段代码是完整的报警与联动逻辑const int RELAY_PIN 8; const int BUZZER_PIN 9; const float VOLTAGE_THRESHOLD 2.0; // 自行标定的报警阈值单位V void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); pinMode(BUZZER_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); digitalWrite(BUZZER_PIN, LOW); } void loop() { float adcAvg readMQ9(); float vout adcAvg * VCC / ADC_MAX; if (vout VOLTAGE_THRESHOLD) { digitalWrite(RELAY_PIN, HIGH); // 打开排风扇 digitalWrite(BUZZER_PIN, HIGH); // 蜂鸣器报警 Serial.println(ALARM! Gas detected); } else { digitalWrite(RELAY_PIN, LOW); digitalWrite(BUZZER_PIN, LOW); } delay(200); }这里用Vout做判断省去Rs换算的误差。阈值2.0V只是示例值你必须用自己手上的传感器实测后重新标定直接抄数值可能会误报或者漏报。4.4 实际测试过程记录我第一次搭完这套系统做实测的时候用的是打火机不放气只把喷嘴凑到传感器附近缓缓放气。结果发现两个问题一是读数并不是立刻上升而是有大概几秒的延迟这是气体扩散到传感器表面需要时间不是电路问题二是撤离气源后读数掉回基线非常慢甚至在几分钟内都无法完全恢复。这是因为高浓度气体让气敏材料深度吸附脱附需要更长的时间。这个现象在数据手册里对应的是“响应时间”和“恢复时间”一氧化碳的响应时间约150秒恢复时间比响应时间还长。所以做测试时要耐心等读数稳定再记录不要频繁地给气又撤气。5. 标定、环境干扰与精度问题5.1 为什么传感器需要预热和标定MQ-9出厂时气敏材料表面状态不一致加上运输过程中的温湿度变化每个传感器的零点电阻Ro都不相同。标定的第一步就是确定Ro把传感器放在洁净空气或者已知无污染的环境中通电预热24小时以上测量此时的气敏电阻值记为Ro。之后再测量任何气体的Rs都能算出Rs/Ro比值用这个比值去对应数据手册的灵敏度曲线。但这里要注意“洁净空气”的标准很难把握。在室内环境里空气污染物、油烟、装修挥发的有机物都会让Ro偏高如果在户外或者实验室通风柜里标定Ro又会低一些。我自己做实验的时候会把传感器放进一个密封塑料袋里充入氮气来模拟洁净空气这样测出来的Ro更接近理想值。5.2 温湿度和老化对读数的影响MQ-9对温度和湿度都有交叉敏感。湿度升高时水蒸气分子会与气敏材料表面的氧离子发生竞争吸附导致传感器电阻漂移读数偏高。温度变化则影响化学反应的速率常数通常温度每升高10℃响应值会有几个百分点的变化。因此如果项目需要长期稳定工作建议同时采集温湿度数据在算法里做温度补偿。补偿系数需要自己做实验拟合不同批次传感器差异很大没有通吃公式。另一个不可忽视的因素是长期老化。气敏材料在持续高温工作状态下晶体结构会缓慢变化表面活性逐渐下降表现为Ro缓慢增大响应幅度变小。通常建议每3到6个月重新标定一次Ro产品设计中最好设计一个“一键校准”功能让用户能在洁净环境下自动记录新的Ro。5.3 实际项目中的精度权衡说句实在话MQ-9这类传感器在绝对精度方面并不出色。同一品牌、同一型号的两个传感器在相同气体浓度下的Rs/Ro比值可能相差20%到50%。但如果用来做“有没有泄漏”的判断这个精度完全够用。我在做厨房燃气泄漏提醒项目时方案是连续三次采样都超过阈值才报警避免瞬时波动造成误报同时输出0~100的“污染等级”指数用LED条显示大致程度而不是显示具体ppm。用户反馈说虽然不知道具体浓度但预警功能让他们放心很多。如果你确实需要定量测量预算又允许建议直接上电化学传感器模组或者红外传感器它们的线性度、重复性和抗交叉干扰能力都远超MQ系列价格也贵一个数量级。MQ-9的定位就是“低成本、粗检测、快速部署”认清定位才能选对方案。6. 常见问题排查与避坑经验6.1 问题速查表我在多个项目里调试MQ-9把最容易遇到的问题整理成一张速查表按现象、原因、处理方式三列整理方便你对照排查。现象可能原因处理方式上电后输出一直为0V或接近0V加热丝断、测量引脚短路万用表量加热电阻正常约32Ω检查接线输出一直接近VCC5V负载电阻开路、测量端接线虚焊检查RL和A、B引脚连接读数波动大无规律气流扰动、传感器固定不牢加滑动平均滤波传感器远离风扇直吹读数值随温度变化明显温度交叉敏感做温度补偿曲线或者软件中加入温度修正对打火机气体响应慢高浓度气体深度吸附恢复慢等待5~10分钟恢复测试时气体量要小长期使用后灵敏度下降材料老化、表面污染重新标定Ro必要时更换传感器数字输出DOUT一直不变电位器阈值设置不当重新测量AOUT电压校准电位器门槛接5V后传感器不发热加热丝烧断或供电功率不足检查电源电流量加热电阻是否断路6.2 排查思路与关键测量点遇到传感器“没反应”的问题不要急着写代码先把电压测清楚。我用万用表的直流档测三个关键点一是传感器供电端确认是否真有5V二是加热丝两端电压确认加热电路在工作三是模块AOUT引脚对地电压确认信号有没有进入到单片机。这三步能分离出问题在电源、传感器还是传输线缆上。我遇到过最诡异的一次是AOUT电压完全正常但Arduino串口打印一直是0。排查半天发现是ADC引脚虚焊导致信号根本进不到芯片里。所以焊接完以后务必用万用表二极管档测一下引脚通断别嫌麻烦这个小动作能省掉后面几个小时的排查时间。6.3 新手最常踩的三个坑第一个坑是加热电压给错。裸传感器的加热极如果误接成1.5V反而没问题只是工作温度低但如果把测量极当成加热极接5V会把气敏层烧毁。我见过有人把四条引脚搞混接完以后传感器冒烟然后整块板子报废。解决办法拿到传感器后先看丝印再用万用表通断档量引脚确认加热电阻阻值。第二个坑是电源功率不足。MQ-9加热功率约0.8W看似不大但很多劣质USB充电头在带载时电压会跌到4.5V甚至更低导致加热温度不够、灵敏度严重下降。尽量用实验室线性电源或者质量靠谱的5V适配器测量时夹一个万用表看电压是否稳定。第三个坑是没有预热就开始测试。新传感器上电后的半小时内输出的漂移可能高达百分之几十如果你此时去做阈值标定后面正式工作时一定会误报或者漏报。我的习惯是新传感器至少通电预热24小时后再标定急着出结果的话也要先跑2小时至少把最剧烈的漂移阶段熬过去。7. 应用场景与选型对比MQ-9能做什么不能做什么7.1 常见应用方向MQ-9最典型的应用是家用燃气泄漏报警器这也是我对它产生兴趣的起点。把MQ-9模块放在厨房燃气灶附近通过单片机实时采集数据一旦检测到甲烷浓度异常升高就驱动电磁阀切断燃气或者触发蜂鸣器报警。在智能家居系统里MQ-9还可以和环境传感器联动检测到异常后自动打开排风扇、通过WiFi模块推送手机通知。另一个方向是汽车车内空气质量监测。一氧化碳在密闭的停车环境里可能积累到危险水平MQ-9可以用低成本方案监测车内CO浓度。我见过有人把它做成车载小装置显示CO等级并提示开窗通风虽然不能和专业的车载空气质量传感器比精度但作为安全提示绰绰有余。工业场景里MQ-9也被用在化工厂、实验室的气体泄漏巡检机器人上利用其快速响应和低功耗特性做粗筛可疑点再用高精度仪器复核。7.2 MQ系列传感器该怎么选MQ系列传感器型号众多选型时主要看目标气体。MQ-2覆盖面广对液化气、丙烷、氢气、烟雾都有响应适合烟雾报警和通用可燃气体检测MQ-3专测酒精做酒驾模拟实验常用MQ-4主测甲烷适合天然气管道监测MQ-5对液化气和天然气均有响应适合厨房燃气场景MQ-7专门测一氧化碳MQ-135则对空气质量、氨气、苯类蒸汽敏感常被用在空气净化器里的综合空气质量检测。MQ-9和MQ-2的区别在于MQ-2对烟雾和液化气的灵敏度更高MQ-9对CO的响应更突出且同时兼顾甲烷。如果项目主要目标是“检测燃气泄漏”两者都能用如果还想兼顾COMQ-9更合适。但要注意MQ-9对酒精也有一定响应厨房里喷酒精消毒时传感器可能会误报需要做好软件上的抑制处理比如连续几次采样确认再报警或者增加酒精传感器的辅助判断。下表整理了常见MQ系列传感器的主要特点方便选型参考型号主要检测气体检测范围典型场景MQ-2液化气、丙烷、氢气、烟雾300~10000ppm烟雾报警、家庭安防MQ-3酒精蒸汽0.05~10mg/L饮酒检测、呼出气体分析MQ-4甲烷、天然气300~10000ppm天然气管道监测MQ-5液化气、天然气300~10000ppm燃气泄漏报警MQ-7一氧化碳20~2000ppm煤气报警、汽车尾气监测MQ-9一氧化碳、甲烷、液化气CO10~1000ppm甲烷200~10000ppm燃气CO综合预警MQ-135氨气、苯、烟雾、CO210~1000ppm空气净化器、空气质量监测7.3 什么时候该放弃MQ系列换成其他原理的传感器MQ系列虽然便宜好用但天生有三大短板需要高功耗加热、需要长时间预热、选择性差。如果项目面临这三种情况中的任何一种最好直接换方案。功耗方面MQ-9工作电流约150mA对于电池供电的便携设备来说太奢侈了。一颗2000mAh的锂电池如果持续供电给传感器也就十几个小时耗完还没算单片机和无线模块的功耗。这种情况下可以考虑电化学传感器比如用于CO检测的电化学元件工作电流在微安到毫安级功耗低一个数量级但价格高几十块且寿命只有两三年。选择性方面如果环境里同时存在酒精、甲烷、CO等多种气体MQ系列无法区分读数会被混合气体拉高。而电化学传感器对目标气体有较好的选择性比如专用CO电化学传感器对甲烷几乎不响应。对于需要精确区分气体种类的工业检测项目MQ系列完全不适合直接上非色散红外或光离子检测器是更靠谱的选择。最后提醒一点无论用哪种传感器做燃气报警如果产品是打算给家庭实际使用的建议让用户在关键位置安装符合国标的正规报警器DIY作品可以作为学习工具或者辅助提醒不要替代专业安全设备。传感器再好也只是整个安全系统里的一个环节产品化还需要过认证、做可靠性测试这些才是真正的门槛。我在自己做作品的时候也会跟朋友们强调这个小装置是提醒不是保险。另外说个我自己踩过的坑有一次我把MQ-9装在厨房测试凑巧那天家里炖肉加了料酒酒精蒸汽顺着排风扇倒灌回来传感器直接报警。一开始还以为是燃气泄漏吓出一身冷汗后来排查才发现是酒精。所以在厨房这类有酒精、醋、料酒等挥发物的场景里最好在软件里增加“持续超过阈值N秒才报警”的逻辑能减少不少误报。具体N取多少需要根据你的使用场景实测一般10到30秒比较合适。MQ-9这个传感器虽然精度不算高、响应也不算快但它把我引入了气体检测的大门。我后来做过电化学CO模组、做过半导体气敏阵列回头看还是觉得MQ-9最适合新手入门。先把分压电路、ADC采样、标定、滤波这套基本功练扎实了后面玩什么传感器都不慌。如果你手头正好有一块吃灰的MQ-9模块不妨今晚就翻出来通电预热明天开始测数据。纸上谈兵永远比不上一块万用表、一根杜邦线来得实在。