TYC6418_913_1 2025-12-24 20:25 采纳率: 100%
浏览 14
已采纳

为什么我的MQ-2烟雾模块没有反应

rt,我自己用stm32弄了一个小玩意,里面有用到MQ-2烟雾模块,但是我在使用打火机进行测试的时候,MQ2的DO灯能正常亮起,但是却不能把数值同步到oled上,只是一直在图中的这个数值范围内跳动。有佬遇到过这是什么问题吗?


这是while中mq2的代码↓

img


未检测到烟雾时↓

img

img


mq2能正常相应↓

img


oled无法同步数据↓

img

  • 写回答

1条回答 默认 最新

  • 关注

    看现象和代码,问题应该出在MQ-2的模拟量读取环节——DO灯亮说明模块硬件是好的,但数值没变化是因为没正确读到AO输出的模拟信号:

    1. 先查硬件:MQ-2的AO引脚有没有接到STM32的ADC引脚上?要是接错引脚(比如没接AO、接了无关引脚),读出来的就是随机小波动的无效值。
    2. 再看代码:MQ2_GetData_PPM()是不是没正确配置ADC通道?比如ADC没使能、通道号写错,导致没读到真实的模拟量。
    3. 最后确认函数逻辑:MQ2_GetData_PPM()里计算ppm的公式对不对?要是公式错了,就算读到模拟量也会显示异常。

    先优先查AO引脚的接线和ADC配置,这俩是最常见的锅。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 1月6日
  • 创建了问题 12月24日